社区
网络编程
帖子详情
服务器端的TCP如果长时间没有通讯,可以自动断开吗?
亚细亚
2010-03-03 12:21:34
如题!
...全文
1963
11
打赏
收藏
服务器端的TCP如果长时间没有通讯,可以自动断开吗?
如题!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hslinux
2010-03-05
打赏
举报
回复
最好就是发心跳包检测,一定次数的心跳包没有数据回复,服务器端就主动关闭。
WizardK
2010-03-03
打赏
举报
回复
LZ问可不可以,我只能说可以,但是TCP这种长连接(连接保持)的方式,断开了就需要CLIENT重连了。
小马喝水
2010-03-03
打赏
举报
回复
不会,回复内容太短了!
cpp2017
2010-03-03
打赏
举报
回复
循环检查各个连接的最好活动时间,如果超时就close掉。
亚细亚
2010-03-03
打赏
举报
回复
引用 5 楼 zhdf189 的回复:
TCP连接只要建立,默认是一直保持的,不会自动断开
当然,也可以自己设置超时自动断开
怎么设置?
WizardK
2010-03-03
打赏
举报
回复
TCP SERVER判断CLIENT的断开情况:
1.正常情况,CLIENT关闭SOCKET,SERVER在上层收到CLOSE事件或阻塞型RECV返回0,关闭SOCKET。
2.网线断开,需要加入KEEPALIVE支持,默认是7200秒,或者自己维护KEEPALIVE,定时发送1字节的OOB数据包。
3.异常退出,客户端异常退出,系统会关闭和释放网络描述符,现象同1。
dd_zhouqian
2010-03-03
打赏
举报
回复
自己来做判断吧,TCP是长连接
yanghehong
2010-03-03
打赏
举报
回复
貌似TCP协议标准本身没有这种空闲死连接的检查机制;所以需要上层来自己实现。不过有的系统的TCP协议栈提供了一些keep-alive机制,可以帮助你应用程序诊断TCP连接是不是死掉了。
-
千里孤行
jiuchang
2010-03-03
打赏
举报
回复
最好是超时断开
防止客户端死机
这样能节省系统资源
不过需要客户端实现重连机制,也不是很麻烦
zhdf189
2010-03-03
打赏
举报
回复
TCP连接只要建立,默认是一直保持的,不会自动断开
当然,也可以自己设置超时自动断开
TCP
建立后数据传输完
长时间
不交互会出现什么?(
TCP
的Keepalive机制)
问题:客户端和服务器建立起
TCP
连接后,如果双方
长时间
...如上图所示,
长时间
不通信,服务端会给客户端发送一个
TCP
Keep-Alive来查看客户端是否还存活,如果客户端
没有
应答,服务端超时
没有
收到回复就会再次重新发送;连
如何避免 Modbus
TCP
连接因
长时间
无请求而
断开
?
在Modbus
TCP
通信中,
长时间
没有
发送请求包可能导致连接
断开
。定期发送请求:即使
没有
实际需求,也可以定期发送简单的请求来保持连接活跃。设置合理的超时时间:根据网络环境和从站的配置,设置合适的超时时间。检测...
TCP
通讯
客户端怎样判断与
服务器端
断开
,该如何处理
TCP
通讯
客户端怎样判断与
服务器端
断开
大虾们,神们,C# winform里面,采用多线程监听端口,接收方式为阻塞式,创建单一线程进行监听函数,这样阻塞时只阻塞单一线程,对主线程
没有
影响,并使用异步通信模式,来...
TCP
异常
断开
连接分析
这个属于
TCP
异常
断开
连接的场景,这部分内容在我的「图解网络」还
没有
详细介绍过,这次就乘着这次机会补一补。 这个问题有几个关键词:
没有
开启 keepalive; 一直
没有
数据交互; 进程崩溃; 主机崩溃; 我们...
Linux中
TCP
断开
等待时间
Linux中
TCP
断开
等待时间 查看 /proc/sys/net/ipv4/
tcp
_fin_timeout中的数值,默认为60秒 #cat /proc/sys/net/ipv4/
tcp
_fin_timeout 60 可以修改这个值 修改为20,并查询 #echo 20 > /proc/sys/...
网络编程
18,358
社区成员
64,186
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章