被这个问题困扰了,一旦推送消息就报错。这是我的客户端代码
created() {
// 在页面中调用connectSocket函数
var socketTask = uni.connectSocket({
url: 'ws://127.0.0.1:8081', // 连接的 WebSocket 地址
success: function () {
console.log('WebSocket连接成功');
},
fail: function (error) {
console.log('WebSocket连接失败:' + error);
}
});
// 监听WebSocket连接成功事件
uni.onSocketOpen(function () {
console.log('WebSocket连接已打开');
console.log(socketTask);
});
// 监听WebSocket接收到服务器消息事件
uni.onSocketMessage(function (message) {
console.log('接收到消息:' + message.data);
});
// 监听WebSocket连接关闭事件
uni.onSocketClose(function () {
console.log('WebSocket连接已关闭');
});
// 监听WebSocket连接错误事件
uni.onSocketError(function (error) {
console.log('WebSocket连接错误:' + error);
});
},
methods:{
toPage(){
uni.sendSocketMessage({
data: '哈哈哈'
});
}
}
一下是nodejs服务端代码
const WebSocket = require('ws');
// 创建WebSocket服务器
const wss = new WebSocket.Server({ port: 8081 });
// 处理WebSocket连接
wss.on('connection', (ws) => {
console.log('创建ws链接');
console.log(wss.protocol,'---------');
// 处理来自前端的消息
ws.on('message', (message) => {
console.log('接收到前端消息:', message);
const response = '你好'
ws.send(response);
});
ws.on('error', (error) => {
console.log('WebSocket连接错误:', error);
});
// 处理WebSocket断开连接
ws.on('close', () => {
console.log('ws链接断开');
});
});