小程序即时通讯
即时通讯也就是利用了websocket。
需要注意的是,在小程序中,websocket最多只能存在5个。
好了,不多说了,上代码。
node代码
// npm i ws
const WebSocket = require('ws');
const server = new WebSocket.Server({
port: 9999 // 开启websocket的端口
})
const user = {
} // 注册一个对象,用来绑定用户,以便做到及时响应
server.on('connection', (client, req) => {
client.on('open', data => {
})
client.on('close', res => {
// 在客户端关闭的时候,node端需要将该客户端的记录给清除掉
for(let key in user) {
if (user[key] == client) {
delete user[key]
}
}
})
client.on('message', async message => {
console.log('小程序传过来的数据是:', message);
message = JSON.parse(message)
// 绑定用户
let keys = Object.keys(user)
if (keys.length == 0) {
user[message.user] = client
} else {
let flag = true
for(let key in user) {
if (key == message.user) {
flag = false