用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、微信...
方法辅助挂!悟空大厅辅助(辅助... 方法辅助挂!悟空大厅辅助(辅助)总是确实有辅助脚本(真是有挂)1)悟空大厅辅助有没有挂:进一步探索悟...
手段辅助!牵手app破解!科普... 手段辅助!牵手app破解!科普是真的有辅助工具(今日头条)1、牵手app破解免费脚本咨询教程、牵手a...
今日!决战卡五星辅助源码(辅助... 今日!决战卡五星辅助源码(辅助)原来存在有辅助器(有挂头条)1)决战卡五星辅助源码辅助插件:进一步探...
方式辅助!微信小程序挂机辅助!... 方式辅助!微信小程序挂机辅助!揭露是真的有辅助app(有挂方略)微信小程序挂机辅助是不是有人用挂微扑...
据权威媒体报道!凑一桌关春天怎... 据权威媒体报道!凑一桌关春天怎么才能开挂(辅助)其实真的是有辅助脚本(真实有挂)1、超多福利:超高返...
方式辅助!闲逸app透视版!专... 方式辅助!闲逸app透视版!专业是真的有辅助app(有挂教学)1、闲逸app透视版模拟器是什么优化,...
据公告内容!人皇大厅控制牌型(... 据公告内容!人皇大厅控制牌型(辅助)竟然真的有辅助神器(有挂工具)1、任何人皇大厅控制牌型透视是真的...
模板辅助!微乐江西小程序辅助!... 模板辅助!微乐江西小程序辅助!关于是有辅助挂(有挂神器)1、游戏颠覆性的策略玩法,独创攻略技巧玩法,...
黑科技教程!桂麻圈辅助(辅助)... 黑科技教程!桂麻圈辅助(辅助)果然是真的有辅助脚本(有人有挂)桂麻圈辅助辅助器是一种具有地方特色的麻...