社区
C语言
帖子详情
自己写心跳包呢?
liulin2018
2012-07-17 11:29:04
tcp_keepalive机制内嵌入一个心跳包
为毛还要 自己写心跳包呢?
谁有windows的心跳包源码啊,
...全文
1059
8
打赏
收藏
自己写心跳包呢?
tcp_keepalive机制内嵌入一个心跳包 为毛还要 自己写心跳包呢? 谁有windows的心跳包源码啊,
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2012-07-17
打赏
举报
回复
File: "C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\MSTcpIP.h" 13 occurrences found on 13 lines
6: /* Argument structure for SIO_KEEPALIVE_VALS */
19: #define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR,4)
liulin2018
2012-07-17
打赏
举报
回复
我想了解的就是:比如 服务器和多个客户端用传输层的socket通信,服务器或者客户端需要知道其是否在线。采用的技术。
我在网上找了很久,就么有找到一个能够用在项目的中例子。 不知道你方便提供吗?并非你说的那么高档
[Quote=引用 6 楼 的回复:]
你说的心跳包源码是什么意思呢?这个和协议相关的。比如sip协议用option做心跳,rtsp协议用get_parameter做心跳。
[/Quote]
sadgod
2012-07-17
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
小心“心跳包”内容意外插入到“数据包”中间!
这种Bug当年可是耗费了本ID半年时间才发现的!
[/Quote]
你说的问题是没有做流解析导致的包?多个数据包一次recv到buf中了。这个问题实在。。呵呵
sadgod
2012-07-17
打赏
举报
回复
你说的心跳包源码是什么意思呢?这个和协议相关的。比如sip协议用option做心跳,rtsp协议用get_parameter做心跳。
赵4老师
2012-07-17
打赏
举报
回复
小心“心跳包”内容意外插入到“数据包”中间!
这种Bug当年可是耗费了本ID半年时间才发现的!
liulin2018
2012-07-17
打赏
举报
回复
你好,大牛,你能提 心跳包源码吗,
自己写的,
谢谢了啊。
[Quote=引用 3 楼 的回复:]
原因好多啊
1、如楼上所说,tcp_keepalive功能默认时间2个小时,至于影响不影响所有socket未知,应该可以单个soket设置?
2、tcp_keepalive的功能通过NAT映射、防火墙等地方的时候是否存在问题貌似不能十分确定100%没问题,有时候你和远端连接,双方显示没断,但是实际上中间的NAT防火墙早已给你断开
3、自定义心跳一般带有统计或者控制信令或者通知等等功能,一个指……
[/Quote]
sadgod
2012-07-17
打赏
举报
回复
原因好多啊
1、如楼上所说,tcp_keepalive功能默认时间2个小时,至于影响不影响所有socket未知,应该可以单个soket设置?
2、tcp_keepalive的功能通过NAT映射、防火墙等地方的时候是否存在问题貌似不能十分确定100%没问题,有时候你和远端连接,双方显示没断,但是实际上中间的NAT防火墙早已给你断开
3、自定义心跳一般带有统计或者控制信令或者通知等等功能,一个指令多个用途,比较灵活。
fdl19881
2012-07-17
打赏
举报
回复
tcp_keepalive功能*可能*会影响系统范围内的所有socket .. 且默认是2小时。 (某些系统上)
基于这种情况 , 一般都是自己实现keepalive机制 。
http://msdn.microsoft.com/en-us/library/windows/desktop/ee470551(v=vs.85).aspx
Android的socket长连接(心跳检测)
-
心跳包
设计:
心跳包
通常携带简单标识,如字符串"HEARTBEAT",方便服务器识别并快速响应。 4. **实现心跳检测** - 在客户端,创建一个定时任务,每隔一定时间(例如30秒)发送
心跳包
到服务器。 - 服务器端收到...
什么是
心跳包
?
心跳包
就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做
心跳包
。 用来判断对方(设备,进程或其它网元)是否正常运行,采用定时发送简单的...
记录
心跳包
编
写
最近开发一个项目,用了
心跳包
,在这里
写
一笔。 首先在Server端设立一个倒计时,比方说隔9秒去检测一下
心跳包
标记(一个flag,当收到
心跳包
时置为true),如果为false则关闭连接处理后事,否则将标记设置为false。...
android
心跳包
作用,Android开发Im总结-5:
心跳包
心跳包
的作用:TCP长连接本质上不需要
心跳包
来维持, 大家可以试一试, 让两台电脑连上同一个wifi, 然后让其中一台做服务器, 另一台用一个普通的没有设置KeepAlive的Socket连上服务器, 只要两台电脑别断网, 路由器也别...
Qt之TCP
心跳包
Qt之TCP
心跳包
当Qt作为客户端程序,而服务器需要监控客户端的在线状态时,就需要Qt端发送
心跳包
。
心跳包
可以是TCP也可以是UDP,这里介绍TCP
心跳包
的实现方法。
心跳包
通常要单开一个线程,在进程运行的过程中一直...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章