Gatewayworkman 心跳问题

workman

在一个项目里面 开启两个Text端口 8282 与 8284 , 8282那个文件设置一分钟的心跳 没有收到数据就断开连接,
8284的不设置心跳 但是一分钟后8284的连接还是断开连接了 为什么呢?只能设置一个心跳吗?那设置多个以哪个为准呢?

4569 3 0
3个回答

walkor

长链接必须加心跳,因为有些节点的防火墙可能会关闭长时间不通讯的链接。
心跳可以设置为25秒。
8282 8284端口的心跳是分开的,可以设置不同的时间,不同的心跳内容,不同的规则。

  • workman 2016-07-15

    但是现在8284没有设置心跳,在8282心跳到的时候 8284的连接也断了 是什么情况呢

  • workman 2016-07-15

    8282设置的WebSocket协议 一分钟心跳 8284是Text协议 没设置心跳 发现8284是跟着8282心跳来的 一分钟后就断了,把8282的心跳注释 8284就不断了 这是为什么呢?

  • walkor 2016-07-15

    应该是心跳时间太长了,设置成25秒吧。

  • workman 2016-07-16

    现在把websocket协议的心跳注释了,8284几分钟都不会断,一旦8282心跳加起8284那个一分钟就断了,在要到一分钟的时候8284马上发个消息就不断了,说明这时8284应该是有心跳的,但是我根本没设置8284的啊,8284直接去执行8282的心跳机制了

  • walkor 2016-07-16

    你可以打开console看下websocket是否有心跳数据,或者抓包看下。

workman

当我把8282的心跳取消后 8284的连接就不会在1一分钟的时候断了 说明8284跟8282心跳相关联了啊
而且就算把8284心跳设置成2分钟 在一分钟的时候连接还是断了的

  • 暂无评论
walkor

应该是心跳时间太长了,设置成25秒吧。
1分钟的时间可能防火墙已经关闭了链接。

  • 暂无评论
年代过于久远,无法发表回答
🔝