2017-08-03 145 views

回答

1

只需將控制檯日誌放入該功能並關閉websocket服務器,就可以檢查close。至於onError,每個瀏覽器都以不同的方式處理它,我認爲Firefox會在斷開連接時觸發它。

0

演示接收錯誤信息

<!DOCTYPE html> 
 
<html> 
 
    <meta charset = "utf-8" /> 
 
    <title>WebSocket Test</title> 
 

 
    <script language = "javascript" type = "text/javascript"> 
 
     var wsUri = "ws://echo.websocket.org/"; 
 
     var output; 
 
\t \t 
 
     function init() { 
 
     output = document.getElementById("output"); 
 
     testWebSocket(); 
 
     } 
 
\t \t 
 
     function testWebSocket() { 
 
     websocket = new WebSocket(wsUri); 
 
\t \t \t 
 
     websocket.onopen = function(evt) { 
 
      onOpen(evt) 
 
     }; 
 
\t \t \t 
 
     websocket.onclose = function(evt) { 
 
      onClose(evt) 
 
     }; 
 
\t \t \t 
 
     websocket.onerror = function(evt) { 
 
      onError(evt) 
 
     }; 
 
     } 
 
\t \t 
 
     function onOpen(evt) { 
 
     writeToScreen("CONNECTED"); 
 
     doSend("WebSocket rocks"); 
 
     } 
 
\t \t 
 
     function onClose(evt) { 
 
     writeToScreen("DISCONNECTED"); 
 
     } 
 
\t \t 
 
     function onError(evt) { 
 
     writeToScreen('<span style = "color: red;">ERROR:</span> ' + evt.data); 
 
     } 
 
\t \t 
 
     function doSend(message) { 
 
     writeToScreen("SENT: " + message); websocket.send(message); 
 
     } 
 
\t \t 
 
     function writeToScreen(message) { 
 
     var pre = document.createElement("p"); 
 
     pre.style.wordWrap = "break-word"; 
 
     pre.innerHTML = message; output.appendChild(pre); 
 
     } 
 
\t \t 
 
     window.addEventListener("load", init, false); 
 
    </script> 
 
\t 
 
    <h2>WebSocket Test</h2> 
 
    <div id = "output"></div> 
 
\t 
 
</html>

+0

對不起,你一定誤解了我的問題,想知道觸發這些關閉/錯誤,以便確保我的處理程序將工作的最簡單的方法如預期。 – sparcut