用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的界面

       

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

相关内容

热门资讯

每日必看推荐!微信小程序雀神辅... 每日必看推荐!微信小程序雀神辅助器(辅助挂)一贯是真的有辅助工具(有挂详情)1、很好的工具软件,可以...
最新技巧!陕西辅助(辅助挂)一... 最新技巧!陕西辅助(辅助挂)一直是真的有辅助工具(有挂秘诀)陕西辅助是不是有人用挂微扑克wpk插件教...
据玩家消息!决战平安京辅助软件... 据玩家消息!决战平安京辅助软件(辅助挂)总是是有辅助插件(有挂技术)1、决战平安京辅助软件脚本辅助下...
围绕透视问题!陕麻圈延安辅助(... 围绕透视问题!陕麻圈延安辅助(辅助挂)总是确实有辅助技巧(有挂规律);1、完成陕麻圈延安辅助辅助器v...
研究成果!潘潘讲故事app有挂... 研究成果!潘潘讲故事app有挂吗(辅助挂)好像存在有辅助方法(有挂神器)1、很好的工具软件,可以解锁...
截至发稿!微信小程序多乐辅助下... 截至发稿!微信小程序多乐辅助下载(辅助挂)确实存在有辅助器(有挂分析)微信小程序多乐辅助下载辅助器是...
必备攻略!赣湘互娱挂(辅助挂)... 必备攻略!赣湘互娱挂(辅助挂)好像确实有辅助攻略(发现有挂)1、用户打开应用后不用登录就可以直接使用...
目前来看!广西微乐小程序微信辅... 目前来看!广西微乐小程序微信辅助器免费(辅助挂)果然是有辅助插件(有挂教学)1、让任何用户在无需广西...
盘点几款!新超凡软件辅助(辅助... 盘点几款!新超凡软件辅助(辅助挂)果然真的有辅助技巧(真的有挂)1、每一步都需要思考,不同水平的挑战...
揭秘攻略!方片十三张外挂(辅助... 揭秘攻略!方片十三张外挂(辅助挂)真是是有辅助挂(确实有挂)1、方片十三张外挂免费脚本咨询教程、方片...