2013-01-29 11 views
5

jCIFS to świetna biblioteka do łączenia się z udziałami SMB na Androida i działa doskonale w prawie wszystkich testach, z którymi testowałem.Powolna lista plików z jCIFS na Windows

Mimo to, korzystam z metody SmbFile.listFiles() przy korzystaniu z udziałów sieciowych Windows, ale tylko po zalogowaniu się jako rzeczywisty użytkownik na komputerze. Otrzymanie listy folderów może zająć do kilku minut, a czasami nic się nie dzieje.

Jeśli zdecyduję się zalogować jako gość (używając "gościa" jako użytkownika i pozostawiając puste hasło), wszystko jest szybkie. Zwykle mniej niż sekundę.

Poniższy kod działa i to szybko:

try { 
    NtlmPasswordAuthentication authentication = new NtlmPasswordAuthentication("", "guest", ""); // domain, user, password 
    currentFolder = new SmbFile("smb://host-name-for-my-pc", authentication); 
    SmbFile[] listFiles = currentFolder.listFiles(); 
} catch (Exception e) { // Using Exception for the sake of demonstration... 

Kod ten jednak nie działa/jest bardzo powolny:

try { 
    NtlmPasswordAuthentication authentication = new NtlmPasswordAuthentication("", "my-username", "my-password"); // domain, user, password 
    currentFolder = new SmbFile("smb://host-name-for-my-pc", authentication); 
    SmbFile[] listFiles = currentFolder.listFiles(); 
} catch (Exception e) { // Using Exception for the sake of demonstration... 

Rozmawiałem z innym facetem, który przy użyciu JCIFS, i on doświadcza tego samego problemu.

Próbowałem połączyć się z tym samym udziałem przy użyciu ES File Explorer, który również wykorzystuje jCIFS, i jest szybki, niezależnie od tego, czy używasz prawdziwego konta, czy logujesz się jako gość.

Aktualizacja:

Jeśli używam SmbFile("username:[email protected]/") zamiast, to działa! Naprawdę chcę, żeby działał z NtlmPasswordAuthentication. Jakieś pomysły?

Odpowiedz

5

Użycie działa, więc używam tego.

1

Spróbuj użyć new SmbFile("smb://host-name-for-my-pc/", authentication);. Z ukośnikiem na końcu.

+0

Czy masz żadnych dowodów to działa? Jeśli nie, powinien to być komentarz, a nie odpowiedź. –

+0

To nie działa, próbowałem już tak długo przed opublikowaniem pytania. –

Powiązane problemy