📅  最后修改于: 2023-12-03 14:42:27.932000             🧑  作者: Mango
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,可与 HTTP 协议兼容。该技术可以实现客户端和服务器端之间的实时数据传输。
Javascript WebSocket API 允许程序员创建 WebSocket 连接并在客户端和服务器之间发送数据。下面是一个典型的 Javascript WebSocket 客户端示例:
// 创建 WebSocket 对象实例
const socket = new WebSocket('ws://localhost:8080');
// 连接打开事件
socket.addEventListener('open', () => {
console.log('连接已打开');
});
// 接收消息事件
socket.addEventListener('message', (event) => {
console.log(`从服务器接收到消息:${event.data}`);
});
// 连接关闭事件
socket.addEventListener('close', () => {
console.log('连接已关闭');
});
// 发送消息
socket.send('Hello, WebSocket!');
Javascript WebSocket API 提供了以下方法:
new WebSocket(url[, protocols])
:创建一个新的 WebSocket 对象实例,并建立与指定 URL 的服务器连接。protocols
参数是一个字符串数组,指定了可接受的子协议(可选)。WebSocket.close([code[, reason]])
:关闭 WebSocket 连接。WebSocket.send(data)
:向服务器发送数据。Javascript WebSocket API 提供了以下属性:
WebSocket.readyState
:表示 WebSocket 的当前状态。可能的值包括:WebSocket.CONNECTING
:WebSocket 连接正在建立中。WebSocket.OPEN
:WebSocket 连接已建立成功。WebSocket.CLOSING
:WebSocket 连接正在关闭中。WebSocket.CLOSED
:WebSocket 连接已关闭。WebSocket.bufferedAmount
:表示在 send() 方法后仍然保留在 WebSocket 缓冲区中的字节数。WebSocket.extensions
:表示与 WebSocket 连接关联的扩展列表。WebSocket.protocol
:表示与 WebSocket 连接关联的子协议。