首页 > 代码库 > Android 平台下Ftp 使用模拟器需要住的的问题
Android 平台下Ftp 使用模拟器需要住的的问题
以下代码在pc上测试通过,可是在android模拟器上就不工作,不过还可以链接到服务器但不能得到文件 纠结了半天,原来是模式的问题,具体请Google 模拟器中采用建议被动模式
public void getWorkMessage(){ FTPClient ftp = new FTPClient(); try { ftp.connect(server); System.out.println("Connected to " + server); System.out.print(ftp.getReplyString()); reply = ftp.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); System.err.println("FTP server refused connection."); System.exit(1); } ftp.login(username, password); FTPFile[] files = ftp.listFiles("/"); if(files!=null&&files.length>0){ for(FTPFile f:files){ System.out.println("user:>>>"+f.getUser()+" name:>>>"+f.getName()+" size:>>>"+f.getSize()+" link:>>>"+f.getLink()); } } } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
加上被动模式之后,代码如下:
public void getWorkMessage(){ FTPClient ftp = new FTPClient(); try { ftp.connect(server); System.out.println("Connected to " + server); System.out.print(ftp.getReplyString()); reply = ftp.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); System.err.println("FTP server refused connection."); System.exit(1); } ftp.login(username, password); //设置为被动模式 ftp.enterLocalPassiveMode(); FTPFile[] files = ftp.listFiles("/"); if(files!=null&&files.length>0){ for(FTPFile f:files){ System.out.println("user:>>>"+f.getUser()+" name:>>>"+f.getName()+" size:>>>"+f.getSize()+" link:>>>"+f.getLink()); } } } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
OK,这样就可以了。
Android 平台下Ftp 使用模拟器需要住的的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。