服务端和客户端都在本机时闲置几天都没事,但是一换到异地服务器上,有约三四分钟没数据交互时,netstat -n还能看到连接存在,数据流也能写入,但服务器没有收到,写入一会后发送方的连接会关闭,另一边的这个无效连接只要程序存在就一直还在socket

解决方案 »

  1.   

    我记得那玩有一个类似Keep-Alive的属性,就是这个连接能够保持多长毫秒。他应该有个默认值,你把它设大点再试试
      

  2.   

    使用心跳包,用一个线程timer每隔几秒发一个自动以的数据过去服务器,服务器每次接收都记录一次时间,然后去检查当前时间与接收时间是否已经超过约定的时间,如果超过则服务器主动断开销毁该链接
      

  3.   

    有个超时时间参数 好像叫TIMEOUT吧,服务端加个超时就差不多了