日期:2014-05-20  浏览次数:20782 次

Socket 帮忙看看
用socket写了个客户端和服务器。服务器用DataOutputStream输出流response用户的请求。客户端用BufferedReader读取服务器发来的流,并存一个数组,然后写入新文件。现在遇到如下问题,客户端不能正确读取服务器端传出的5图像文件的流。

------解决方案--------------------
没做过,up
------解决方案--------------------
何为 5图像文件?
5个文件?
------解决方案--------------------
如果文件中有图像文件,最好是按字节的方式读取写入.
这样比较精确,可以防止文件数据丢失和二进制文件解码出错.


------解决方案--------------------
你应该用byte[]数组缓存流

BufferReader好像是以char存储的

而且,对于TCP传输的话,最好还是直接用字节数组处理
用BufferReader二次缓存的话,有可能丢失数据
------解决方案--------------------
对于binary的数据,用InputStream/OutputStream来处理
对于char数据,才使用Reader/Writer来处理
你的代码在client端使用Reader来读binary的数据,会自动将读到的byte组装成char,可能导致数据丢失。
------解决方案--------------------
要用byte类型的~支持
------解决方案--------------------
byte[]来存取……