【问题标题】:How to get the current status of a javascript websocket connection如何获取 javascript websocket 连接的当前状态
【发布时间】:2014-06-15 16:03:05
【问题描述】:

有时当我重新启动服务器或出现网络故障时,websocket 会关闭,我希望能够随时获取当前连接状态。

我基本上得到以下错误,我希望能够预测它:

WebSocket is already in CLOSING or CLOSED state. 
    (anonymous function) 
    InjectedScript._evaluateOn 
    InjectedScript._evaluateAndWrap 
    InjectedScript.evaluate

【问题讨论】:

    标签: javascript websocket client


    【解决方案1】:

    这很简单:websocket 的readyState 属性始终包含WebSocket API 中指定的websocket 连接

    它将是以下值之一:CONNECTING OPEN CLOSINGCLOSED

    解决该错误的方法如下:

    if (yourWsObject.readyState === WebSocket.CLOSED) {
       // Do your stuff...
    }
    

    【讨论】:

    • api的正确答案。一个小提示,yourWsObject.readyState 将是 1(打开)即使您尝试在没有连接的情况下进行连接。我已经使用远程后端对其进行了测试,尝试从 Android 模拟器进行连接。在我的笔记本电脑上关闭 Wifi 并尝试从模拟器连接到删除套接字服务器后,我仍然在 readyState 上打开
    • socket.readyState !== WebSocket.CLOSED && socket.readyState !== WebSocket.CLOSING ?真:假;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多