不支持socket.io的 heartbeat 保持连接功能?

477 views
Skip to first unread message

Bob

unread,
May 2, 2013, 8:26:22 AM5/2/13
to socketi...@googlegroups.com
目前的版本好像无视了socket.io的定时心跳应答机制。只要有一分钟没有数据通讯,服务器就会启动ClearTaskSpeed,清除对应的IOClient。标准的socket.io是不会这样的。

socket.io默认配置的心跳信号规则是启用的:
'heartbeats': true,    //是否启用心跳信号检查
'heartbeat timeout': 60000,  // 客户端的心跳超时值,多长时间后应该向服务器发送一个新的心跳信号,这个值是建立连接之后由服务器发给客户端的
'heartbeat interval': 25000,   // 服务器端的超时值,应该在此值的事件之内收到客户端的心跳信号,这个值应该比 'heartbeat timeout' 小


请问 socketio-netty 有无实现此功能的计划呢?若没有,我考虑在app里做一个定时消息来解决应用自动断开的问题。

Bob

unread,
May 2, 2013, 8:48:05 AM5/2/13
to socketi...@googlegroups.com
补充一下,我注意到在 SocketIOManager.java 中有相应的心跳信号设置,和 socket.io 的定义是一样的,但是似乎没有起作用,我是用 0.9 版本的 socket.io-client 测试的。

Bob於 2013年5月2日星期四UTC+8下午8時26分22秒寫道:

yongboy

unread,
May 2, 2013, 10:35:31 PM5/2/13
to socketi...@googlegroups.com
您好:
socketio-netty早已实现心跳。


--
You received this message because you are subscribed to the Google Groups "socketio-netty" group.
To unsubscribe from this group and stop receiving emails from it, send an email to socketio-nett...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

yongboy

unread,
May 2, 2013, 10:39:47 PM5/2/13
to socketi...@googlegroups.com
'heartbeats': true,    //是否启用心跳信号检查
'heartbeat timeout': 60,  // 客户端的心跳超时值,多长时间后应该向服务器发送一个新的心跳信号,这个值是建立连接之后由服务器发给客户端的
'heartbeat interval': 25,   // 服务器端的超时值,应该在此值的事件之内收到客户端的心跳信号,这个值应该比 'heartbeat timeout' 小

这些值的单位为秒,不要设置过大,否则自动认为断开。

这个或许是程序不够健全的问题吧,现在时间不是那么充足,缺少商业支持,也没用那么大的精力捣鼓它了。

若您有想法,希望可以继续完善源代码,毕竟它是开源的。

wenbo

unread,
May 5, 2013, 10:57:09 AM5/5/13
to socketi...@googlegroups.com
我确信心跳机制没有起作用,原因还不太清楚,先用定时消息顶住了,刚使用socketio-netty几天,对代码不熟,暂时没能力搞改进,还要多多的学习


2013/5/3 yongboy <yon...@gmail.com>
Reply all
Reply to author
Forward
0 new messages