当前位置:首页 > HTML

h5 websocket实现

2026-03-06 14:03:03HTML

Websocket 在 H5 中的实现

WebSocket 是 HTML5 提供的一种在单个 TCP 连接上进行全双工通信的协议。通过 WebSocket,客户端和服务器可以实时交换数据。

创建 WebSocket 连接

要建立 WebSocket 连接,需要使用 WebSocket 构造函数并传入服务器地址:

const socket = new WebSocket('ws://example.com/socket');

地址以 ws://(非加密)或 wss://(加密)开头。建立连接后,会触发 onopen 事件。

监听 WebSocket 事件

WebSocket 对象提供了多个事件用于处理连接状态和数据接收:

h5 websocket实现

socket.onopen = function(event) {
    console.log('连接已建立');
};

socket.onmessage = function(event) {
    console.log('收到消息: ' + event.data);
};

socket.onerror = function(error) {
    console.error('发生错误: ' + error);
};

socket.onclose = function(event) {
    console.log('连接已关闭');
};

发送数据

通过 send 方法可以向服务器发送数据:

socket.send('Hello Server!');

可以发送字符串、BlobArrayBuffer 类型的数据。

关闭连接

使用 close 方法可以主动关闭 WebSocket 连接:

h5 websocket实现

socket.close();

可以传入状态码和关闭原因:

socket.close(1000, '正常关闭');

实际应用示例

以下是一个完整的 WebSocket 客户端实现示例:

const socket = new WebSocket('wss://echo.websocket.org');

socket.onopen = function() {
    console.log('连接成功');
    socket.send('测试消息');
};

socket.onmessage = function(event) {
    console.log('收到回复: ' + event.data);
};

socket.onclose = function() {
    console.log('连接关闭');
};

// 处理用户输入
document.getElementById('sendBtn').addEventListener('click', function() {
    const message = document.getElementById('messageInput').value;
    socket.send(message);
});

注意事项

WebSocket 连接可能会因为网络问题中断,建议实现重连机制。现代浏览器都支持 WebSocket API,但在使用时仍需考虑兼容性问题。对于复杂的应用,可以考虑使用 Socket.IO 等库来简化开发。

服务器端需要实现 WebSocket 协议才能与客户端通信,常见的服务器端实现包括 Node.js 的 ws 模块、Java 的 Java-WebSocket 等。

标签: websocket
分享给朋友:

相关文章

vue websocket 实现录音聊天

vue websocket 实现录音聊天

Vue 中使用 WebSocket 实现录音聊天 录音功能实现 使用浏览器提供的 MediaRecorder API 进行录音,需要先获取用户麦克风权限: navigator.mediaDevice…

php 实现websocket

php 实现websocket

PHP 实现 WebSocket 的方法 PHP 可以通过多种方式实现 WebSocket 服务。以下是几种常见的方法: 使用 Ratchet 库 Ratchet 是一个流行的 PHP WebSoc…

php websocket实现推送

php websocket实现推送

PHP WebSocket 实现推送 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,适用于实时推送场景。PHP 可以通过以下方法实现 WebSocket 推送: 使用 Rat…

php怎么实现websocket

php怎么实现websocket

PHP 实现 WebSocket 的方法 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过以下几种方式实现 WebSocket 功能。 使用 Ratchet 库…

websocket php实现聊天

websocket php实现聊天

使用 PHP 和 WebSocket 实现聊天功能 准备工作 确保服务器支持 WebSocket 协议,安装 PHP 的 WebSocket 库,如 Ratchet。通过 Composer 安装 Ra…

php 实现websocket

php 实现websocket

PHP 实现 WebSocket 的方法 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过以下方式实现 WebSocket 功能。 使用 Ratchet 库 R…