WebSocket是一種允許透過保持伺服器端和用戶端始終連接來進行雙向通訊的技術,所以WebSocket既可以發送資料也可以接收數據,本篇文章我們就來看看如何使用WebSocket發送和接收資料。
我們先來看看如何傳送文字資料?
使用免費提供的echo.websocket.org作為樣本
#具體示例如下
var connection = new WebSocket('wss://echo.websocket.org'); connection.send('样本数据');
在此範例中,以看到正在建立WebSocket實例並使用send()方法傳送資料。
但是,通常應該在任意時間傳輸資料。
因此,如果要透過點擊按鈕發送在表單中輸入的數據,可以如下編寫。
btn.addEventListener('click', function(e) { var text = document.getElementById('text'); connection.send(text.value); })
在這個例子中,我們得到輸入表單的字串並將其應用於send()的參數。
這樣,您就可以傳送任意文字資料。
如何接收文字資料?
這次使用的測試伺服器的Echo.websocket.org將原樣傳回傳輸的資料。
程式碼如下
connection.onmessage = function(e) { console.log(e.data); };
我們使用onmessage()事件,該事件用於接收來自四種類型的事件處理的訊息。
雖然這是一個簡單的描述,但僅此一項就可以接收從伺服器傳回的資料。
順便說一下,當你一起使用close()方法時,編碼如下
connection.onmessage = function(e) { console.log(e.data); connection.close(); };
在這種情況下,在收到資料後立即斷開通訊。
此時,需要注意的是如果close()斷開通信,除非再次與WebSocket建立連接,否則無法通信!
以上是如何使用WebSocket發送和接收數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!