Websocket————错误总结

websocket

一、需要注意的是,js建立连接处完整的js代码要执行完成退出后才会真正发起建立连接请求,如果在此之前发送消息则会报错如下:

InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable

解决办法:在websocket已经和Workerman链接的时候再发送消息,而不是在建立链接之前去发送消息

 websocket.onopen = function (evt) 
{ bindUid(websocket); };
 var data = {
       'type': '4001',
       'user_id': response.user_id
}
websocket.send(JSON.stringify(data)); //这里给Workerman发送信息的时候一定要转换成字符串,不然那边识别了

二、Workerman那边广播消息的时候返回的是一个Json字符串,所以在HTML代码中可以通过把字符串转换成对象来获取值比较容易点:

function onMessage(evt)
    {
        var $json_obj = JSON.parse(evt.data); //由JSON字符串转换为JSON对象
        if ($json_obj.error_code == 200) {
            alert($json_obj.message);
        }
        console.log($json_obj);
    }
原文地址:https://www.cnblogs.com/tinywan/p/5996625.html