TCP协议过一段时间接不到数据
Posted HackShendi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP协议过一段时间接不到数据相关的知识,希望对你有一定的参考价值。
hello,I‘m Shendi
最近在整TCP代理服务器,在编写完程序进行测试时发现了一个问题
当 TCP 连接,客户端和服务端都不发送数据,且都不断开连接的情况下,时间一久(大概几分钟),服务端进行发送数据时,客户端就接收不到了,且服务端会报错
经过一番查找,找到了问题所在
我写的TCP没有实现心跳机制,在Java中,TCP自带的心跳机制间隔为两小时一次
而网络运营商对连接有限制,当没有数据传输一定时间,连接将会被网络运营商关闭,导致后续发送的数据找不到目的地
貌似每个网络运营商对应的超时时间都不一样,大概75秒左右?
解决方法就是增加心跳包即可
踩坑
以上是关于TCP协议过一段时间接不到数据的主要内容,如果未能解决你的问题,请参考以下文章