websocket服务链接不上,求解!
发布于 5 年前 作者 huwei 16103 次浏览 来自 问答

我用的是GatewayWorker 集成的 websocket服务,在普通域名下使用正常。在认证域名下,怎么也链接不上。百度和微信论坛上,至今没查到有效的解决方案。请解决了此问题的各位大神指教一二,在线等。。。

域名正常:

服务正常:

我写了一个测试文件,代码如下:

结果如下:

2 回复

这个错误有可能的原因是该WebSocket对象正在发送问题,发送还没结束,然后调用者又调用了send方法接着继续发送,所以still in connecting,解决这个问题的方法是通过判断readyStatus延时发送:

this.send = function (message, callback) { 
    this.waitForConnection(function () { 
        ws.send(message); 
        if (typeof callback !== 'undefined') { 
          callback(); 
        
    }, 1000); 
}; 
   
this.waitForConnection = function (callback, interval) { 
    if (ws.readyState === 1) { 
        callback(); 
    } else
        var that = this
        // optional: implement backoff for interval here 
        setTimeout(function () { 
            that.waitForConnection(callback, interval); 
        }, interval); 
    
};

老天,真的没人吗?

回到顶部