Android JCIFS无法建立会话

时间:2016-03-01 11:14:03

标签: java android jcifs

我发现了一个奇怪的情况。我在我的项目jcifs-1.3.18.jar中使用本地网络中的读取文件。

String url_file = "smb://10.0.0.55/hermes_lite/ttt.txt";
SmbFile smb_file;
boolean b = false;
try
{         
  smb_file = new SmbFile(url_file);         
  try
  {
     b = smb_file.exists();            
  }
  catch(SmbException e)
  {
     e.printStackTrace();
  }
}
catch(MalformedURLException e1)
{
   e1.printStackTrace();
}

程序启动时,我是第一次检查文件。连接WiFi时我也检查了文件(通过BroadCastReceiver)。 如果第一次在“smb_file.exists()”指令上我将有异常(异常 - 网络无法访问,当WiFi仍未连接时),第二次和后面的“smb_file.exists()”指令也会抛出异常 但已经“无法建立会话”。在我最近的任务列表中杀死应用程序之前,例外情况仍在继续。

jcifs.smb.SmbException: Failed to connect: WORKGROUP<00>/10.0.0.55
jcifs.util.transport.TransportException
java.io.IOException: Failed to establish session with WORKGROUP<00>/10.0.0.55
at jcifs.smb.SmbTransport.ssn139(SmbTransport.java:239)
at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:249)
...

抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

这是jcifs中的问题,使用主机名而不是IP(您可以查看网络流量,按端口139过滤,从目标计算机观察“需要呼叫的名称”消息)。

根据我的经验,除非您在目标计算机上中断网络连接(电缆断开连接),否则IP工作正常。

由于