我在用winsock做一个服务器和客户端之间通信的程序
客户端和服务器用的是TCP连接,我要在客户端和服务器之间
传送自己定义的一些数据包,传送这些数据包时客户端和服务器
端之间要遵守一定的规则(我把这些自己制定的规则称为“协议”
不知道和不合适),那么我制定这些规则的时候要不要考虑到
网络出错导致我的数据包出错的情况呢?都说TCP是一个可靠的协议。

解决方案 »

  1.   

    不需要的,TCP已经有丢包的验证机制的,如果是UDP那需要自己写
      

  2.   

    TCP又名传输控制协议,是基于传输层的协议。它是面向连接的,建议您看一下相关资料。
      

  3.   

    在tcp数据包中有一个checksum字段就是已经包含了你的数据的校验和,如果你的数据包出错那么系统就已经把这个包丢了,轮不到你的程序处理的。
      

  4.   

    我想就不要好了TCP本身就是可以保证正确性的你如果发现数据错误,就丢失好了,这种情况很少,你的程序应该保证,数据错误不能导致系统溃掉。