📜  WebSockets-发送和接收消息(1)

📅  最后修改于: 2023-12-03 14:48:26.239000             🧑  作者: Mango

WebSockets-发送和接收消息

WebSockets是一种先进的技术,也是目前最流行和最广泛使用的方法之一,用于从客户端向服务器发送消息和从服务器向客户端发送消息。它是一种双向通信协议,允许在一个单独的TCP连接上进行双向通信,因此可以实现实时通信。

基本语法

WebSockets API提供了一套基本语法,用于发送和接收消息。发送消息是使用send()的方法。接收消息则使用定义在WebSocket对象上的事件,如onmessage、onerror等。

let webSocket = new WebSocket(url, protocols);

webSocket.onopen = function (event) {
  console.log("WebSocket connection is open now.");
};

webSocket.onerror = function (event) {
  console.error("WebSocket error observed:", event.error);
};

webSocket.onclose = function (event) {
  console.log("WebSocket connection is closed now.");
};

webSocket.onmessage = function (event) {
  console.log(`Message has been received from server: ${event.data}`);
};

webSocket.send(message);
发送消息

使用WebSockets发送消息非常容易,只需要调用WebSocket对象上的send()方法,就可以向服务器发送一条消息。该方法接受一个字符串参数,该字符串是要发送的消息的内容,如下例所示。

let webSocket = new WebSocket("ws://localhost:8080");

webSocket.send("Hello Server");
接收消息

接收消息是依据WebSocket对象上的事件来实现的,onmessage是事件,在接收到服务器发送的消息时会被触发。在这个事件处理程序中,可以获取到接收到的消息,如下例所示。

let webSocket = new WebSocket("ws://localhost:8080");

webSocket.onmessage = function (event) {
  console.log(`Message has been received from server: ${event.data}`);
};
异常处理

在使用WebSockets过程中可能会发生异常,在WebSocket对象上定义的三个事件onopen、onerror、onclose和onmessage事件,可以以不同的方式来处理异常,如下例所示。

let webSocket = new WebSocket("ws://localhost:8080");

webSocket.onopen = function (event) {
  console.log("WebSocket connection is open now.");
};

webSocket.onerror = function (event) {
  console.error("WebSocket error observed:", event.error);
};

webSocket.onclose = function (event) {
  console.log("WebSocket connection is closed now.");
};
总结

使用WebSockets连接到服务器是一种非常快速和简单的方法,它提供了双向通信,以实现实时通信。本文提供的例子介绍了如何发送和接收WebSockets消息。同时也介绍了如何处理异常,在使用流程中有助于提高开发者的工作效率。