WebSocket 是一种基于 TCP 协议的全双工通信协议,它可以在浏览器和服务器之间建立长连接,实现实时通信。下面是 WebSocket 链接流程:
1.客户端向服务端发送一个 HTTP 请求,请求头部包含 Upgrade 和 Connection 字段。
2.服务端返回一个 HTTP 响应,响应头部包含 Upgrade 和 Connection 字段,并且状态码为 101。
3.客户端和服务端开始进行 WebSocket 握手,通过发送特定格式的数据来确认握手成功。握手成功后,WebSocket 连接建立成功。
4.客户端和服务端开始进行数据交互,在连接保持打开状态的情况下,可以任意地互发消息。
在 Cocos Creator 中使用 WebSocket 的方法如下:
// 创建 WebSocket 对象
var ws = new WebSocket("ws://localhost:3000");
// 监听事件
ws.onopen = function(event) {
cc.log("WebSocket 已连接");
};
ws.onmessage = function(event) {
var message = event.data;
cc.log("收到消息:" + message);
};
ws.onerror = function(event) {
cc.log("WebSocket 错误:" + event);
};
ws.onclose = function(event) {
cc.log("WebSocket 关闭");
};
// 发送消息
ws.send("Hello, world!");
以上代码中,首先创建了一个 WebSocket 对象,并指定了要链接的地址。然后通过监听 onopen、onmessage、onerror 和 onclose 四个事件来处理不同的情况。最后使用 send 方法发送消息。