用uniapp 及socket.io做一个简单聊天app 2
创始人
2024-11-17 18:04:57
0

在这里只有群聊,二个好友聊天,可以认为是建了一个二人的群聊。

const express = require('express'); const http = require('http'); const socketIo = require('socket.io'); const cors = require('cors'); // 引入 cors 中间件  const app = express(); const server = http.createServer(app); const io = socketIo(server, {   cors: {     origin: "*", // 允许所有来源     methods: ["GET", "POST"]   } });  // 使用 cors 中间件 app.use(cors());  const port = 3000; const groups = {};  io.on('connection', (socket) => {   console.log('New user connected');    // 用户加入群组   socket.on('joinGroup', ({ groupName, userName }) => {     socket.join(groupName);     groups[socket.id] = { groupName, userName };     socket.to(groupName).emit('message', `${userName} has joined the group`);     console.log(`${userName} joined group ${groupName}`);   });    // 发送消息   socket.on('sendMessage', ({ groupName, message, userName }) => {     io.to(groupName).emit('message', `${userName}: ${message}`);     console.log(`Message sent to ${groupName}: ${userName}: ${message}`);   });    // 踢人   socket.on('kickUser', ({ groupName, userName }) => {     for (let id in groups) {       if (groups[id].userName === userName && groups[id].groupName === groupName) {         io.sockets.sockets.get(id).leave(groupName);         io.to(groupName).emit('message', `${userName} has been kicked from the group`);         console.log(`${userName} was kicked from group ${groupName}`);         break;       }     }   });    // 用户断开连接   socket.on('disconnect', () => {     if (groups[socket.id]) {       const { groupName, userName } = groups[socket.id];       socket.to(groupName).emit('message', `${userName} has left the group`);       delete groups[socket.id];       console.log(`${userName} left group ${groupName}`);     }   }); });  server.listen(port, () => {   console.log(`Server running on port ${port}`); });   

uniapp的界面

       

运行效果:在这里插入图片描述

相关内容

热门资讯

透视ai代打!德州机器人代打脚... 透视ai代打!德州机器人代打脚本,哈糖大菠萝开挂,透明挂教程(有挂方法)1、点击下载安装,德州机器人...
透视了解!hhpoker辅助,... 透视了解!hhpoker辅助,hhpoker德州真的假的,爆料教程(有挂攻略)一、hhpoker德州...
透视辅助!wepoker透视是... 透视辅助!wepoker透视是真的吗,wepoker免费透视(竟然存在有挂)运wepoker透视是真...
透视能赢!aapoker怎么选... 透视能赢!aapoker怎么选牌,aapoker怎么拿好牌,软件教程(有挂揭秘);在进入aapoke...
透视实锤!拱趴大菠萝挂怎么安装... 透视实锤!拱趴大菠萝挂怎么安装,菠萝德普辅助器免费版在哪里,技巧教程(有挂详情)1、金币登录送、破产...
透视辅助!wepoker软件安... 透视辅助!wepoker软件安装包,hhpoker有后台操控吗,详细教程(有挂辅助)1、很好的工具软...
透视辅助!wepoker怎么发... 透视辅助!wepoker怎么发冤家牌,wepoker透视脚本免费使用视频(本来是有挂)wepoker...
透视智能ai!aapoker万... 透视智能ai!aapoker万能辅助器,aapoker辅助器怎么用,黑科技教程(有挂详情)1)aap...
透视苹果版!聚星ai辅助工具收... 透视苹果版!聚星ai辅助工具收费多少,德州透视插件,微扑克教程(有挂工具);1、用户打开应用后不用登...
透视安装!hhpoker德州牛... 透视安装!hhpoker德州牛仔视频,hhpoker德州透视,教你攻略(有挂介绍)1、操作简单,无需...