如题。比如说我有123456,6条信息要发。当我发到第3条时发送终止了,过了20秒左右,socket又继续发数据从4开始发送,然后一直发完。不知道哪位高人可以解释下,小弟不甚感激

解决方案 »

  1.   

    呵呵,哪说明socket没有中断,可能的原因就好几种,尝试猜测如下
    1.对方接收过慢,导致本地的tcp/ip缓冲区一直不能被清空写入新数据
    2.网络状况不好,结果和1类似
    3.写入的数据量过大,也可能导致一定的堵塞。呵呵,只是猜测,具体的还要楼主提供详细信息
      

  2.   

    谢谢你的回答 
    问题我已经找到了,和一楼说的第一种情况有点类似,主要是由于客户端无故断线导致。客户端断开后服务器发送就会出现阻塞从而导致发送终止
    我解决的办法是在服务器中定义一个时间超时,SendTimeout,一旦超过这个时间就断开这个连接,等待下次心跳在链接继续发送。