android客户端通过socket获得服务器的文本文档,客户端接收是出现错误。。。什么原因,请大神指点, 5
try{//本地保存路径,文件名会自动从服务器端继承而来。StringsavePath="/data/";intbufferSize=8192;byte[]buf=new...
try { //本地保存路径,文件名会自动从服务器端继承而来。 String savePath ="/data/"; int bufferSize = 8192; byte[] buf = new byte[bufferSize]; int passedlen = 0; long len=0; savePath += inputStream.readUTF(); DataOutputStream fileOut = new DataOutputStream(new BufferedOutputStream(new BufferedOutputStream(new FileOutputStream(savePath)))); len = inputStream.readLong(); System.out.println("文件的长度为:" + len + "\n"); System.out.println("开始接收文件!" + "\n"); while (true) { int read = 0; if (inputStream != null) { read = inputStream.read(buf); } passedlen += read; if (read == -1) { break; } //下面进度条本为图形界面的prograssBar做的,这里如果是打文件,可能会重复打印出一些相同的百分比 System.out.println("文件接收了" + (passedlen * 100/ len) + "%\n"); fileOut.write(buf, 0, read); } System.out.println("接收完成,文件存为" + savePath + "\n"); Looper.prepare(); Message message=Message.obtain(); message.what=0x123; mHandler.sendMessage(message); mHandler.sendMessage(mHandler.obtainMessage()); Looper.loop(); fileOut.close(); } catch (Exception e) { System.out.println("接收消息错误" + "\n"); return; } } }).start(); }}
展开
展开全部
按照你的描述,你首先调用Socket(adderss,port)生成了一个socket,然后你要调用connect连接服务端,connect返回成功后才能通信。不知道你有没有connect。
追问
通信是成功的,接收消息错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询