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

       

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

相关内容

热门资讯

第八分钟了解!潮汕潮汕娱脚本(... 第八分钟了解!潮汕潮汕娱脚本(辅助挂)详细透视开挂辅助黑科技教程(切实是真的挂)-哔哩哔哩;人气非常...
让我来分享经验"aa... 让我来分享经验"aapoker有伙牌"详细外挂透明挂辅助器-先前有挂(哔哩哔哩);详细aapoker...
第七分钟了解!决战卡五星游戏辅... 第七分钟了解!决战卡五星游戏辅助器(辅助挂)详细透视开挂辅助揭秘教程(总是有挂)-哔哩哔哩;1、每日...
今日科普"wpk辅助... 今日科普"wpk辅助实时策略建议"详细外挂透明挂辅助软件-总是存在有挂(哔哩哔哩);1、很好的wpk...
2分钟了解!欢乐茶馆免费辅助(... 您好:欢乐茶馆免费辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
今日重大通报"微扑克... 您好:微扑克智能这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
热点推荐!"微扑克辅... 热点推荐!"微扑克辅助工具可以下载"详细外挂透明挂辅助安装-切实有挂(哔哩哔哩);亲,有的,ai轻松...
一分钟了解!先锋脚本辅助(辅助... 【福星临门,好运相随】;一分钟了解!先锋脚本辅助(辅助挂)详细透视开挂辅助第三方教程(切实存在有挂)...
玩家必看分享"红龙扑... 玩家必看分享"红龙扑克有外挂"详细外挂透明挂辅助黑科技-素来真的有挂(哔哩哔哩)是一款可以让一直输的...
7分钟了解!情怀莆仙辅助挂(辅... 7分钟了解!情怀莆仙辅助挂(辅助挂)详细透视开挂辅助专业教程(都是是有挂)-哔哩哔哩,情怀莆仙辅助挂...