你的socket用的是什么协议传输?TCP还是UDP?UDP是基于不可靠连接的传输协议,也就是说用UDP传输会出现丢包的现象。而TCP协议每次传输完都会自动检测是否成功,如果不成功则自动重新发送,所以就不会出现数据丢失现象。我估计由于传输中数据丢失,但是写入时仍然按照固定字节写入,丢失的那部分是空白字节,所以文件大小一样,但是内容不同。

解决方案 »

  1.   

    TO:felixwoo(Felix) ,首先谢谢二位老兄。
    我用的是TCP协议,发送文件也是采用几次握手的方式。确实是数据丢失,写入的时候仍然按照固定的字节写入的。但是我检查了,每个PacketSize丢失的数据是一样的,前面的N1个字节是好的,后面的32768-N1个是零字节。
    今天努力一天,看看能不能解决,如果还不能解决的话,我就把完整代码贴上来了。
      

  2.   

    问题解决了。是因为在发送的接受不同步的问题。
    我在发送的时候,每次都加上一个Sleep(5),问题就解决了。
    多谢二位了。
      

  3.   

    不知道大家有没有遇到这个问题,
    如果服务器和客户端已经连接了,这个拔掉网线或禁用网络,这是客户端和服务器都会
    cpu 100% ,不知道大家如何解决这个问题
    能把代码贴出来看看吗?
    [email protected]
    谢谢