我建立了一个tcp连接,发现有时候客户端收到的数据是30秒前的数据,而且没有丢包的现象,数据是连续的,请问是怎么回事,有什么可能,谢谢。

解决方案 »

  1.   

    这一点是肯定的,在调用send之前都有记录的
      

  2.   

    是谁的缓冲区?我自己的还是tcp本身的?
    我的缓冲区没有这个问题,只要有数据就send的
      

  3.   

    TCP传输本来就是连接的,如果发送方用两次连接的Send等效于一次Send较长的数据,都可能会被接收方一次收到,发送方一次发送较大数据,接收方也可能会多收接收才能收完。
    不过一般情况下在局域网中,不是远程网络,超过30秒是不正常!
      

  4.   

    你对接收端每次收的包大小打印一下,可能是一次没有recv完,在连续发送的时候就可能出现这种情况
      

  5.   

    是不是数据量很大?在接收端来不及处理对方发来的数据的时候,接收端的TCP窗口会自动置为0的
      

  6.   

    接收端TCP窗口不会为0的。一般是发生拥塞的时候把接收端窗口置为一个MSS
      

  7.   

    鄙视这种发广告帖子的行为```````~~~~~滚出CSDN。垃圾
      

  8.   

    才发现竟然敢在我们网络版发这个,删无赦,不好意思了虽然我很理解chenjieread(仔仔)的心情,但是希望以后注意措辞^_^此处删除    mahongyao1984(菜鸟)   广告贴一个