uniapp(vue3)+node.js+websocket(实现实时通信效果)
在uniapp(Vue3)和node.js之间使用WebSocket实现实时通信,你需要在node.js服务器上使用WebSocket库,如ws
或socket.io
。以下是使用ws
库的一个基本示例。
- 安装
ws
库:
npm install ws
- 创建一个简单的WebSocket服务器:
// server.js
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
- 在uniapp中创建WebSocket连接并发送接收消息:
// uniapp Vue 组件中
<template>
<view>
<button @click="connect">连接</button>
<button @click="sendMessage">发送消息</button>
</view>
</template>
<script>
export default {
data() {
return {
ws: null,
};
},
methods: {
connect() {
this.ws = new WebSocket('ws://localhost:8080');
this.ws.onopen = () => console.log('WebSocket连接成功');
this.ws.onerror = (error) => console.log('WebSocket连接发生错误', error);
this.ws.onmessage = (message) => {
console.log('收到服务器消息:', message.data);
};
},
sendMessage() {
if (this.ws && this.ws.readyState === WebSocket.OPEN) {
this.ws.send('Hello, Server!');
}
}
}
};
</script>
确保你的node.js服务器运行node server.js
,然后在uniapp应用中点击“连接”按钮来建立WebSocket连接,然后点击“发送消息”按钮来发送消息。服务器将接收到的消息打印出来,并向客户端发送一个something
字符串作为响应。
注意:这只是一个基本示例,实际应用中你可能需要处理更多的事件,如连接关闭、错误处理等。
评论已关闭