首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android smb: jcifs.smb.SmbException:协商失败

Android smb: jcifs.smb.SmbException:协商失败
EN

Stack Overflow用户
提问于 2014-08-21 16:32:34
回答 1查看 1.2K关注 0票数 0

我正在尝试使用smb开发一个android应用程序。我正在尝试列出LAN中可用的网络位置。我使用以下代码来完成此操作:

代码语言:javascript
复制
            SmbFile[] domains;
            domains = (new SmbFile("smb://")).listFiles();
            for (int i = 0; i < domains.length; i++) {
                SmbFile[] servers;
                try {
                    servers = domains[i].listFiles();
                } catch (SmbException e) {
                    // TODO Auto-generated catch block
                       e.printStackTrace();
                }
                for (int j = 0; j < servers.length; j++) {
                    System.out.println("Network places....  " +servers[j].getName());
                }
            }

        } catch (SmbException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

我正在获取网络列表,但随机得到以下异常:

代码语言:javascript
复制
08-21 12:12:22.336: W/System.err(10141):    jcifs.smb.SmbException: Failed to negotiate
08-21 12:12:22.336: W/System.err(10141):    jcifs.smb.SmbException: Timeout trying to open socket
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbTransport.start(SmbTransport.java:315)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbTransport.negotiate0(SmbTransport.java:865)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:941)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:119)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbFile.connect(SmbFile.java:827)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbFile.connect0(SmbFile.java:797)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbFile.doNetEnum(SmbFile.java:1634)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbFile.listFiles(SmbFile.java:1604)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbFile.listFiles(SmbFile.java:1514)
08-21 12:12:22.336: W/System.err(10141):    at com.lnt.ts.explorer.FileExplorerActivity$ConnectToServer.doInBackground(FileExplorerActivity.java:108)
08-21 12:12:22.336: W/System.err(10141):    at com.lnt.ts.explorer.FileExplorerActivity$ConnectToServer.doInBackground(FileExplorerActivity.java:1)
08-21 12:12:22.336: W/System.err(10141):    at android.os.AsyncTask$2.call(AsyncTask.java:288)
08-21 12:12:22.336: W/System.err(10141):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-21 12:12:22.336: W/System.err(10141):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
08-21 12:12:22.336: W/System.err(10141):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
08-21 12:12:22.336: W/System.err(10141):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
08-21 12:12:22.336: W/System.err(10141):    at java.lang.Thread.run(Thread.java:841)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:947)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:119)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbFile.connect(SmbFile.java:827)
08-21 12:12:22.336: W/System.err(10141):    at jcifs.smb.SmbFile.connect0(SmbFile.java:797)
08-21 12:12:22.341: W/System.err(10141):    at jcifs.smb.SmbFile.doNetEnum(SmbFile.java:1634)
08-21 12:12:22.341: W/System.err(10141):    at jcifs.smb.SmbFile.listFiles(SmbFile.java:1604)
08-21 12:12:22.341: W/System.err(10141):    at jcifs.smb.SmbFile.listFiles(SmbFile.java:1514)
08-21 12:12:22.341: W/System.err(10141):    at com.lnt.ts.explorer.FileExplorerActivity$ConnectToServer.doInBackground(FileExplorerActivity.java:108)
08-21 12:12:22.341: W/System.err(10141):    at com.lnt.ts.explorer.FileExplorerActivity$ConnectToServer.doInBackground(FileExplorerActivity.java:1)
08-21 12:12:22.341: W/System.err(10141):    at android.os.AsyncTask$2.call(AsyncTask.java:288)
08-21 12:12:22.341: W/System.err(10141):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-21 12:12:22.341: W/System.err(10141):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
08-21 12:12:22.341: W/System.err(10141):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
08-21 12:12:22.341: W/System.err(10141):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
08-21 12:12:22.341: W/System.err(10141):    at java.lang.Thread.run(Thread.java:841)

我不能想出如何解决这个异常(谷歌了很多没有运气)。请建议如何解决此异常。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-09-17 18:26:38

确保您使用的是最新的jar,即jcifs-1.3.15.jar,而不是jcifs-1.1.11.jar等较低版本

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25421692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档