一旦你瞭解了網路通訊端與WEB伺服器的串連,你將可以從瀏覽器發送資料到伺服器並且可以接收由伺服器返回的響應資料。
以下是建立一個新的WebSocket對象的API:
複製代碼 代碼如下:var Socket = new WebSocket(url, [protocal] );
這裡第一個參數是指要串連的URL,第二個參數是可選的,如果需要的話,則是指定一個的伺服器支援的協議。
WEB Socket屬性:
| 屬性 |
說明 |
| Socket.readyState |
readyState的代表的ReadOnly屬性的串連狀態。它可以有以下值:
一個0值表示該串連尚未建立。
值為1表示串連建立和溝通是可能的。
值為2表示串連是通過將結束握手。
值為3表示串連已關閉或無法開啟。
|
| Socket.bufferedAmount |
讀屬性的bufferedAmount代表文本的位元組數,utf - 8的排隊使用send()方法。 |
WEB Socket事件:
| 事件 |
處理常式 |
說明 |
| open |
Socket.onopen |
此事件發生在通訊端建立串連。 |
| message |
Socket.onmessage |
此事件發生時,用戶端收到來自伺服器的資料。 |
| error |
Socket.onerror |
此事件發生時有任何通訊錯誤。 |
| close |
Socket.onclose |
此事件發生在串連關閉。 |
WEB Socket方法:
| 方法 |
說明 |
| Socket.send() |
send(data)方法用來串連傳輸資料。 |
| Socket.close() |
close()方法將被用於終止任何現有的串連。 |
WEB Socket例子:
複製代碼 代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function WebSocketTest()
{
if ("WebSocket" in window)
{
alert("WebSocket is supported by your Browser!");
// Let us open a web socket
var ws = new WebSocket("ws://localhost:9998/echo");
ws.onopen = function()
{
// Web Socket is connected, send data using send()
ws.send("Message to send");
alert("Message is sent...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
alert("Message is received...");
};
ws.onclose = function()
{
// websocket is closed.
alert("Connection is closed...");
};
}
else
{
// The browser doesn't support WebSocket
alert("WebSocket NOT supported by your Browser!");
}
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:WebSocketTest()">Run WebSocket</a>
</div>
</body>
</html>