Firefox(少なくとも)では、ESCを押すと、開いているWebSocket接続がすべて閉じられます。 その切断をキャプチャし、再び使用可能になったら再接続する必要があります。WebSocket接続の中断をどのようにキャッチしますか?
これは私が実装しようとしたコードの例ですが、私が理解できないことはエラーをキャッチして正常に処理できるようにします。あなたのコンソール上http://jsfiddle.net/w5aAK/
var url = "ws://echo.websocket.org";
try {
socket = window['MozWebSocket'] ? new MozWebSocket(url) : new WebSocket(url);
socket.onopen = function(){
console.log('Socket is now open.');
};
socket.onerror = function (error) {
console.error('There was an un-identified Web Socket error');
};
socket.onmessage = function (message) {
console.info("Message: %o", message.data);
};
} catch (e) {
console.error('Sorry, the web socket at "%s" is un-available', url);
}
setTimeout(function(){
socket.send("Hello World");
}, 1000);
電源を入れ、出力を見る:
は、コードを見てください。
ここで何か間違っているのですか、接続がJSスクリプトの範囲外で実行されているため、これはできませんか?
すべての入力が役に立ちます。
ありがとうございます!
あなたは 'onopen'コールバック内')( 'socket.sendを呼び出す必要があります:あまりにもあなたを助けるかもしれない - 私を助けた何
1秒後にまだ接続が確立されていない可能性があります。 – neevek
私はそれを認識しており、それをどのように処理するのか知っていますが、それは私が求めている質問ではありません。 – Zach
ESCボタンの問題がFirefoxで修正されているようです27 – Tieme