我用SOCKET传输非文本文件,按说只要用二进制打开然后再存储到数组,发送出去,接收方接收就可以了。但是我的传输过程中,都传输了一部分,就出现了SOCKET不能连接的错误。应该是SOCKET自动断开了。
另外我传输的图象文件,在接收方只能看到一部分。
是出了什么问题了?

解决方案 »

  1.   

    检查一下传送条件是否对,和接收时的接收条件是否正确,应该不可能socket自己断开
      

  2.   

    接收没完整
    数据包较大时,协议会自动分成多包传送
    可以在包头前面加上要传送的长度,用MSG_PEEK查看数据是否接收完成,若完成,再一次性取数据
      

  3.   

    我现在传输10M之内的文件还可以不会自动中断,可是如果文件再大,就又出现了SOCKET中断的现象,还的向各位请教?!!我用的是问答型的,就是发送方发送之后,接收方会在接收之后发送信号应答对方,待发送方知道接收方已经接收完之后才开始发送下一个包。
      

  4.   

    可是我的就是在传输了10M以上时就自动断开了。而且我的接收方是一直接收的(while(1))。。