WebSockets - Đóng kết nối

Closesự kiện đánh dấu sự kết thúc của giao tiếp giữa máy chủ và máy khách. Có thể đóng kết nối với sự trợ giúp củaonclosebiến cố. Sau khi đánh dấu kết thúc giao tiếp với sự trợ giúp củaonclosesự kiện, không có thông báo nào có thể được chuyển tiếp giữa máy chủ và máy khách. Việc đóng sự kiện cũng có thể xảy ra do kết nối kém.

Các close() method là viết tắt của goodbye handshake. Nó chấm dứt kết nối và không có dữ liệu nào có thể được trao đổi trừ khi kết nối mở lại.

Tương tự như ví dụ trước, chúng tôi gọi close() khi người dùng nhấp vào nút thứ hai.

var textView = document.getElementById("text-view");
var buttonStop = document.getElementById("stop-button");

buttonStop.onclick = function() {
   // Close the connection, if open.
   if (socket.readyState === WebSocket.OPEN) {
      socket.close();
   }
}

Cũng có thể chuyển các tham số mã và lý do mà chúng tôi đã đề cập trước đó như hình dưới đây.

socket.close(1000, "Deliberate disconnection");

Đoạn mã sau cung cấp tổng quan đầy đủ về cách đóng hoặc ngắt kết nối Web Socket:

<!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;
	
      function init() {
         output = document.getElementById("output");
         testWebSocket();
      }
	
      function testWebSocket() {
         websocket = new WebSocket(wsUri);
		
         websocket.onopen = function(evt) {
            onOpen(evt)
         };
		
         websocket.onclose = function(evt) {
            onClose(evt)
         };
		
         websocket.onmessage = function(evt) {
            onMessage(evt)
         };
		
         websocket.onerror = function(evt) {
            onError(evt)
         };
      }
	
      function onOpen(evt) {
         writeToScreen("CONNECTED");
         doSend("WebSocket rocks");
      }
	
      function onClose(evt) {
         writeToScreen("DISCONNECTED");
      }
	
      function onMessage(evt) {
         writeToScreen('<span style = "color: blue;">RESPONSE: ' + 
            evt.data+'</span>'); websocket.close();
      }
	
      function onError(evt) {
         writeToScreen('<span style = "color: red;">ERROR:</span> '
            + evt.data);
      } 
	
      function doSend(message) {
         writeToScreen("SENT: " + message); websocket.send(message);
      }
	
      function writeToScreen(message) {
         var pre = document.createElement("p"); 
         pre.style.wordWrap = "break-word"; 
         pre.innerHTML = message; 
         output.appendChild(pre);
      }
	
      window.addEventListener("load", init, false);
   </script>
	
   <h2>WebSocket Test</h2>
   <div id = "output"></div>
	
</html>

Kết quả như sau: