在一个项目里面 开启两个Text端口 8282 与 8284 , 8282那个文件设置一分钟的心跳 没有收到数据就断开连接, 8284的不设置心跳 但是一分钟后8284的连接还是断开连接了 为什么呢?只能设置一个心跳吗?那设置多个以哪个为准呢?
长链接必须加心跳,因为有些节点的防火墙可能会关闭长时间不通讯的链接。 心跳可以设置为25秒。 8282 8284端口的心跳是分开的,可以设置不同的时间,不同的心跳内容,不同的规则。
但是现在8284没有设置心跳,在8282心跳到的时候 8284的连接也断了 是什么情况呢
8282设置的WebSocket协议 一分钟心跳 8284是Text协议 没设置心跳 发现8284是跟着8282心跳来的 一分钟后就断了,把8282的心跳注释 8284就不断了 这是为什么呢?
应该是心跳时间太长了,设置成25秒吧。
现在把websocket协议的心跳注释了,8284几分钟都不会断,一旦8282心跳加起8284那个一分钟就断了,在要到一分钟的时候8284马上发个消息就不断了,说明这时8284应该是有心跳的,但是我根本没设置8284的啊,8284直接去执行8282的心跳机制了
你可以打开console看下websocket是否有心跳数据,或者抓包看下。
当我把8282的心跳取消后 8284的连接就不会在1一分钟的时候断了 说明8284跟8282心跳相关联了啊 而且就算把8284心跳设置成2分钟 在一分钟的时候连接还是断了的
应该是心跳时间太长了,设置成25秒吧。 1分钟的时间可能防火墙已经关闭了链接。
长链接必须加心跳,因为有些节点的防火墙可能会关闭长时间不通讯的链接。
心跳可以设置为25秒。
8282 8284端口的心跳是分开的,可以设置不同的时间,不同的心跳内容,不同的规则。
但是现在8284没有设置心跳,在8282心跳到的时候 8284的连接也断了 是什么情况呢
8282设置的WebSocket协议 一分钟心跳 8284是Text协议 没设置心跳 发现8284是跟着8282心跳来的 一分钟后就断了,把8282的心跳注释 8284就不断了 这是为什么呢?
应该是心跳时间太长了,设置成25秒吧。
现在把websocket协议的心跳注释了,8284几分钟都不会断,一旦8282心跳加起8284那个一分钟就断了,在要到一分钟的时候8284马上发个消息就不断了,说明这时8284应该是有心跳的,但是我根本没设置8284的啊,8284直接去执行8282的心跳机制了
你可以打开console看下websocket是否有心跳数据,或者抓包看下。
当我把8282的心跳取消后 8284的连接就不会在1一分钟的时候断了 说明8284跟8282心跳相关联了啊
而且就算把8284心跳设置成2分钟 在一分钟的时候连接还是断了的
应该是心跳时间太长了,设置成25秒吧。
1分钟的时间可能防火墙已经关闭了链接。