WebSockets - Bir Bağlantıyı Kapatma
Closeolay, sunucu ile istemci arasındaki iletişimin sonunu işaret eder. Bir bağlantının kapatılması,oncloseEtkinlik. Yardımıyla iletişimin sonunu işaretledikten sonraoncloseolay, sunucu ve istemci arasında daha fazla mesaj aktarılamaz. Etkinliğin kapatılması, zayıf bağlantı nedeniyle de gerçekleşebilir.
close() yöntem anlamına gelir goodbye handshake. Bağlantıyı sonlandırır ve bağlantı tekrar açılmadıkça veri alışverişi yapılamaz.
Önceki örneğe benzer şekilde, close() kullanıcı ikinci düğmeyi tıkladığında yöntem.
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();
}
}
Daha önce bahsettiğimiz kodu ve neden parametrelerini aşağıda gösterildiği gibi geçirmek de mümkündür.
socket.close(1000, "Deliberate disconnection");
Aşağıdaki kod, bir Web Soketi bağlantısının nasıl kapatılacağına veya bağlantısının nasıl kesileceğine dair eksiksiz bir genel bakış sunar -
<!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>
Çıktı aşağıdaki gibidir -