如何使用WebSocket发送和接收数据

不言
Lepaskan: 2019-01-14 17:33:12
asal
13153 orang telah melayarinya

WebSocket是一种允许通过保持服务器端和用户端始终连接来进行双向通信的技术,所以WebSocket既可以发送数据也可以接收数据,本篇文章我们就来看看如何使用WebSocket发送和接收数据。

如何使用WebSocket发送和接收数据

我们先来看一下如何发送文本数据?

使用免费提供的echo.websocket.org作为样本

具体示例如下

var connection = new WebSocket('wss://echo.websocket.org');
 
connection.send('样本数据');
Salin selepas log masuk

在此示例中,以看到正在创建WebSocket实例并使用send()方法发送数据。

但是,通常应该在任意时间传输数据。

因此,如果要通过单击按钮发送在表单中输入的数据,可以按如下方式编写。

btn.addEventListener('click', function(e) {
  var text = document.getElementById('text');
 
  connection.send(text.value);
})
Salin selepas log masuk

在这个例子中,我们得到输入表单的字符串并将其应用于send()的参数。

这样,您就可以发送任意文本数据。

如何接收文本数据?

这次使用的测试服务器的Echo.websocket.org将按原样返回传输的数据。

代码如下

connection.onmessage = function(e) {
    console.log(e.data);
};
Salin selepas log masuk

我们使用onmessage()事件,该事件用于接收来自四种类型的事件处理的消息。

虽然这是一个简单的描述,但仅此一项就可以接收从服务器返回的数据。

顺便说一下,当你一起使用close()方法时,编码如下

connection.onmessage = function(e) {
    console.log(e.data);
    connection.close();
};
Salin selepas log masuk

在这种情况下,在收到数据后立即断开通信。

此时,需注意的是如果close()断开通信,除非再次与WebSocket建立连接,否则无法通信!

Atas ialah kandungan terperinci 如何使用WebSocket发送和接收数据. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan