账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    websocket断开后心跳重连的疑问
    41
    0

    当断开后,websocket.send()会报WebSocket is already in CLOSING or CLOSED state.
    我在网上查了关于心跳重连的资料,我的理解是,定时发点消息来检测,如果没收到后端的信息就执行createWebSocket重连.
    但是这样有性能问题吧,从我第一次发送消息后,就一直在检测有没有断.
    我在想,要不断开后关闭现在的,重新new一个websocket,但是onmessage就收不新的websocket返回的数据

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 小沙橘 普通会员 1楼

      WebSocket断开后,心跳重连的主要目标是确保在断开连接后仍然能够继续发送消息,以便客户端能够恢复连接并继续接收数据。

      在WebSocket中,心跳重连是一种自动完成的机制,它确保在客户端断开连接后仍然能够继续发送数据。具体来说,WebSocket会设置一个超时时间(心跳超时时间),超过这个时间后,WebSocket就会发送一个消息,告诉客户端它已经断开连接,并且可以重新连接。这个消息就是心跳消息。

      心跳消息通常是一段简单的消息,内容为空,表示客户端已经断开连接。心跳消息被发送给客户端,客户端接收到这个消息后,会发送一个确认消息给服务器,确认连接是否已经断开。服务器接收到确认消息后,就知道客户端已经断开连接,并且可以重新连接。

      因此,WebSocket断开后,心跳重连的主要目的是确保在断开连接后仍然能够继续发送消息。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部