📌  相关文章
📜  var socket = new SockJS('ws'); - Javascript(1)

📅  最后修改于: 2023-12-03 15:05:47.795000             🧑  作者: Mango

使用 SockJS 进行 WebSocket 通信

在 Web 开发中,WebSocket 是实现实时通信的重要手段,而 SockJS 是一个跨浏览器的 WebSocket 库,它提供了一种 WebSocket 的另一种实现方式。

在 JavaScript 中,可以使用以下代码创建一个 SockJS 的实例:

var socket = new SockJS('ws');
安装 SockJS

在使用 SockJS 前,需要先将其添加到项目中。可以使用 npm 进行安装:

npm install sockjs-client --save

或者在 HTML 中直接引入 SockJS 的 CDN:

<script src="https://cdn.jsdelivr.net/sockjs/1.5.2/sockjs.min.js"></script>
创建 SockJS 实例

一旦 SockJS 安装好了,就可以像 WebSocket 一样创建一个 SockJS 的实例来进行通信。在创建实例时,需要指定通信的 URL,这里的 'ws' 表示 WebSocket 的协议。

var socket = new SockJS('ws');
SockJS 事件监听器

SockJS 实例可以监听多种事件,包括连接成功、连接关闭、接收到服务器消息等等。下面是一些常用的事件监听器:

// 监听连接成功事件
socket.onopen = function () {
  console.log('连接成功');
};

// 监听连接关闭事件
socket.onclose = function () {
  console.log('连接关闭');
};

// 监听接收到服务器消息事件
socket.onmessage = function (event) {
  console.log('接收到消息:', event.data);
};
发送消息到服务器

发送消息到服务器需要调用 SockJS 实例的 send 方法。可以将任何 JavaScript 对象作为参数传递给 send 方法,这个对象会被转换成字符串并发送给服务器。

// 发送消息到服务器
socket.send({ message: '你好,服务器!' });
关闭连接

当不需要再和服务器通信时,可以使用 SockJS 实例的 close 方法关闭连接。

// 关闭连接
socket.close();

以上就是使用 SockJS 进行 WebSocket 通信的一些基本操作,包括安装 SockJS、创建 SockJS 实例、监听事件、发送消息和关闭连接。需要注意的是,SockJS 还有更多的功能和用法,可以查阅其官方文档来进一步了解。