采用tcp,当客户端同服务器连线上时,客户端发送数据,如何确保服务器一定收到.大家对这人问题都是如何处理,因为客户端传送的数据很重要,怕中途丢了.想采用应答机制,客户端发一个包,服务端收到,回这个包给客户端,客户端检查这个包和发的是一样的,再发下一个包,要如何操作.

解决方案 »

  1.   

    send成功后, 对方就一定能收到。 tcp已经给予了保证。
      

  2.   

    TCP是必须与服务端保持连接状态时才能通信..如果不是连接状态,必然会报错!
      

  3.   

    tcp保证 zai senddate以后 另一方会接收到,你只要处理下服务器的并发问题 (同时接收到2个包)的问题就可以了
      

  4.   

    处理方并不难:
    在客户端向服务器发送数据时,给此段数据前或后加一个验证信息。
        A、验证信息可以是此段数据的CRC或其它加密运算结果。也可以是此段数据的长度等此数据段的特征信息。
        B、服务端接收到客户端发来的数据据后。根据接收数据中包含的特征信息进行验证。、验证通过则通知客户端:数据正确。否则通知:数据不完整并要求客端重新发送。
      

  5.   

    楼主,这一点无须担心,TCP本是可靠连接.唯一要注意的是:
    当客户端刚发完数据,服务端刚好关闭.造成数据中途丢失
      

  6.   

    tcp是不会丢包,但在getdata时,你要在这里面加了过多动作的话,就可能丢包(网速很快的情况下)。