WebSocket 是一种协议,它允许客户端和服务器之间建立双向通信的连接。这样客户端就可以主动向服务器发送数据,服务器也可以随时发送数据给客户端,而不需要每次重新建立连接。
使用 WebSocket 连接客户端与服务器步骤:
1. 创建 WebSocket 对象:使用 createWebSocket() 方法。
2. 连接服务器:通过 connect() 方法建立连接。
3. 监听连接状态:当连接成功时,客户端会收到 open 事件的回调通知。此时可以使用 send() 方法向服务器发送数据。
4. 接收服务器消息:当服务器向客户端发送信息时,客户端会收到 message 事件的回调。
5. 断开连接:当客户端不再需要连接时,可以使用 close() 方法关闭连接,客户端会收到 close 事件。
6. 错误处理:如果在连接过程中发生任何错误,客户端会收到 error 事件的回调通知。
示例代码:
import webSocket from '@ohos.net.webSocket';
// 服务器地址
var defaultIpAddress = "ws://";
// 创建 WebSocket 对象
let ws = webSocket.createWebSocket();
// 监听连接成功事件
ws.on('open', (err, value) => {
console.log("连接已建立,状态:" + JSON.stringify(value));
// 连接成功后,向服务器发送消息
ws.send("Hello, server!", (err, value) => {
if (!err) {
console.log("消息发送成功");
} else {
console.log("消息发送失败,错误信息:" + JSON.stringify(err));
}
});
});
// 监听消息接收事件
ws.on('message', (err, value) => {
console.log("收到消息: " + value);
// 如果收到 'bye' 消息,关闭连接
if (value === 'bye') {
ws.close((err, value) => {
if (!err) {
console.log("连接已成功关闭");
} else {
console.log("关闭连接失败,错误信息: " + JSON.stringify(err));
}
});
}
});
// 监听连接关闭事件
ws.on('close', (err, value) => {
console.log("连接已关闭,代码: " + value.code + ",原因: " + value.reason);
});
// 监听错误事件
ws.on('error', (err) => {
console.log("发生错误,错误信息: " + JSON.stringify(err));
});
// 发起 WebSocket 连接
ws.connect(defaultIpAddress, (err, value) => {
if (!err) {
console.log("连接成功");
} else {
console.log("连接失败,错误信息:" + JSON.stringify(err));
}
});