2013-01-29 19 views
5

jCIFS, Android'deki SMB paylaşımlarına bağlanmak için harika bir kütüphanedir ve test ettiğim neredeyse tüm kurulumlarla mükemmel çalışır.Windows üzerinde jCIFS ile yavaş dosya listeleme

Ancak, Windows tabanlı ağ paylaşımlarında SmbFile.listFiles() yöntemini kullanırken, ancak yalnızca PC'de gerçek bir kullanıcı olarak oturum açarken inanılmaz derecede yavaş bir performans yaşıyorum. Klasörlerin listesini almak birkaç dakika sürebilir ve bazen hiçbir şey olmaz.

Misafir olarak giriş yapmayı seçtiğimde (kullanıcı olarak "misafir" seçeneğini kullanarak ve şifreyi boş bırakarak), her şey hızlıdır. Genellikle bir saniyeden az.

Aşağıdaki kod çalışır ve daha hızlı:/

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... 

Bu kod, ancak, çalışmıyor çok yavaş:

Ben JCIFS kullanıyor başka bir adam, konuştu
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... 

, ve aynı sorunu yaşıyor.

Aynı dosyaya, jCIFS kullanan ES File Explorer kullanarak bağlanmayı denedim ve gerçek bir hesap kullanmaya veya konuk olarak oturum açmaya bakılmaksızın hızlıdır.

Güncelleme: Bunun yerine SmbFile("username:[email protected]/") kullanırsanız

, çalışıyor! Gerçi NtlmPasswordAuthentication ile çalışmak istiyorum. Herhangi bir fikir?

cevap

5

new SmbFile("username:[email protected]/") kullanarak çalışır, ben sadece bunu kullanıyorum.

1

new SmbFile("smb://host-name-for-my-pc/", authentication);'u kullanmayı deneyin. Sonunda eğik çizgi ile.

+0

çalıştığını herhangi bir kanıt var mı? Değilse, bu bir yorum, bir cevap olmalı. –

+0

Çalışmıyor, soruyu göndermeden önce çoktan denedim. –

İlgili konular