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建立连接,否则无法通信!