首页新闻找找看学习计划

System.Net.WebSockets 客户端失连  服务端要很久才能自动disconnect

0
悬赏园豆:200 [已解决问题] 解决于 2016-08-22 16:55

System.Net.WebSockets  客户端失连  服务端要很久才能自动disconnect


DefaultKeepAliveInterval 默认是30秒。 有什么可以设置这个时间。


https://github.com/websockets/ws/issues/353

比较挫的是  websocket 是host在iis上的

YZYAO的主页 YZYAO | 初学一级 | 园豆:22
提问于:2016-08-19 18:24
< >
分享
最佳答案
0

除了心跳别无他法

收获园豆:100
xmj112288 | 菜鸟二级 |园豆:324 | 2016-08-20 10:34

在最终结局方案 是 双向心跳。

YZYAO | 园豆:22 (初学一级) | 2016-08-22 14:07
其他回答(1)
0

你是想让他快点失连?

收获园豆:100
顾晓北 | 园豆:9520 (大侠五级) | 2016-08-19 18:27

这版没做心跳。 等30秒太长了。 

支持(0) 反对(0) YZYAO | 园豆:22 (初学一级) | 2016-08-19 18:29

client 失去网络。 服务端希望第一时间 知道。 现阶段没法做心跳。

支持(0) 反对(0) YZYAO | 园豆:22 (初学一级) | 2016-08-19 18:36

@YZYAO: 客户端失去网络,服务器知道这个干嘛???

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2016-08-19 18:40

@顾晓北: 要做一系列的处理。  connection跟user绑定的 要解绑 各种 

支持(0) 反对(0) YZYAO | 园豆:22 (初学一级) | 2016-08-19 18:44

@YZYAO: 感觉这应该是思路错了。。。

举个例子,假如说,有一个缓存,很长时间没有命中了,难道你还用心跳去检测缓存失效没失效吗?

另外,也不知道你所说的这个“绑定”是怎么一个绑定法儿。。。

这给我的感觉就是思路错了,导致走入死胡同了。。。

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2016-08-20 11:35

@顾晓北: 没错啦。 用户 connection 连接成功 会 跟 角色绑定。 其他用户就不能跟此角色绑定了。 
当用户 断开 失去网络 或者 飞行模式的时候   服务端 不能第一时间 收到断开消息。 只能心跳来判别。

现在心跳 是单方面  服务端 发给客户端的   最终解决方案是  客户端 也发心跳给服务端。

现阶段。 我在看 如果断开 服务端 发给客户端的心跳包。 会不会失败。 这里做文章了。

多谢大神 有时间 来关注 :)

支持(0) 反对(0) YZYAO | 园豆:22 (初学一级) | 2016-08-22 14:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册