当我的页面加载时,我尝试向send服务器发送一条消息以启动连接,但它无法正常工作.此脚本块位于我的文件顶部附近:
var connection = new WrapperWS();
connection.ident();
// var autoIdent = window.addEventListener('load', connection.ident(), false);
Run Code Online (Sandbox Code Playgroud)
大多数时候,我看到标题中的错误:
未捕获的InvalidStateError:无法在'WebSocket'上执行'send':仍处于CONNECTING状态
所以我尝试catch了异常,正如你在下面看到的那样,但现在它似乎InvalidStateError没有定义,并产生了一个ReferenceError.
这是我的websocket连接的包装器对象:
// Define WrapperWS
function WrapperWS() {
if ("WebSocket" in window) {
var ws = new WebSocket("ws://server:8000/");
var self = this;
ws.onopen = function () {
console.log("Opening a connection...");
window.identified = false;
};
ws.onclose = function (evt) {
console.log("I'm sorry. Bye!");
};
ws.onmessage = function (evt) {
// handle messages here
};
ws.onerror = function …Run Code Online (Sandbox Code Playgroud) 作为持续努力的一部分,我正在使用blue-birdpromise库将我当前的回调技术改为promises .
我想用Socket.IO实现这个技术.