一台windows运行发送程序,另一台windows运行接收程序,断网5分钟以上会出不会通讯的情况。
如果是一台windows运行发送程序,另一台linux运行接收程序,断网5分钟以上,再插上网线,会继续正常通讯。
用到的协议为UDP和RTP。
是不是通过设置SO_KEEPALIVE来解决此问题?
如果是一台windows运行发送程序,另一台linux运行接收程序,断网5分钟以上,再插上网线,会继续正常通讯。
用到的协议为UDP和RTP。
是不是通过设置SO_KEEPALIVE来解决此问题?
udp 是无状态的,keepalvive 对udp 无效。
你连问题出到哪儿都没说谁知道,看看问题出在哪儿,调用 wsagetlasterror 不就清楚了吗!
UDP发送端口缓冲区溢出了吧,可以考虑清除缓冲区和socket错误标志试试。
接收端应该是没有问题的。
1.tcp, 对啊,设置SO_KEEPALIVE,可以设置tcp socket多少秒发个心跳包,就不用自己写心跳包了。
2.udp,没有连接的概念。