用socket做通信,用send发送数据,用receive接收数据,假如接收的数据有误,socket是不是能自动重发,而不需要另外写程序来保证其正确性?

解决方案 »

  1.   

    要另外写程序,判断数据的完整性
    比如服务端发几个字节,客户端也要收到几个字节
    如发送你好/N;
    收到的也必须是你好/N;
    /N为结束标志
      

  2.   

    需要另外写程序去区分。send他根本不知道你要发什么。receive也不知道你发来的是什么。所以你在程序中标注一下。如果有遇到这个标注。就算是正确的数据。错误的会,返回消息告知发送端重新发送。或者提示信息给操作的人
      

  3.   

    http://www.bbs180.com/topictag-29.aspx
      

  4.   

    楼主说的接收的数据有误是指的什么?数据错误还是没有完全接收?
    用TCP进行通信不需要自己写程序进行判断是否数据出错,是否已经接收完成则需要自己写程序判断了
      

  5.   

    兄弟们帮在技术群里多发一下啊:http://stockstar.com/
    证券之星,上海,世纪大道
    招.Net Web开发程序员20人,本科。 
    5k以下主要看态度,5k以上的主要看高性能大并发经验,10k以上要看运气了。 
     简历发至
     [email protected]
      

  6.   

    udp需要自己写程序进行判断是否数据出错,tcp不用,只不过有粘包现象,且是否已经接收完成则需要自己写程序判断