当前位置:网站首页>微信多人聊天及轮盘小游戏(websocket实现)
微信多人聊天及轮盘小游戏(websocket实现)
2022-06-23 06:28:00 【青丝到无发】
主要功能
- socket建立连接成功提醒及反馈。
- 房间内有人加入时提醒。
- 房间内有人离开时提醒。
- 房间内聊天消息的转发。
- 房间内转盘游戏的状态同步。
概况:用户可选择 【创建房间】、【加入房间】两个选项,每个房间最多容纳8人同时游戏或聊天。
具体实现思路:客户端发起socket连接时路径会带上参数:gameRoomNum_OpenId_type,解释:(gameRoomNum:房间号;OpenId:用户openId,type:用户类型【0房主用户,1房客用户】),此参数会在后台作为session的唯一标识,后台的每个socket对应的session会放在一个Map中,其key为gameRoomNum_OpenId_type,value为socket的session。客户端与服务端定义好会话的code码,根据code码区分会话的类别。服务端主动给客户端发送消息时,遍历map中所有key,与指定客户端的gameRoomNum_OpenId_type一致时,获取该key对应的value,调用其session对应的sendText方法即可向客户端主动发送消息。
截图:
下图简述:轮盘为房间内用户的头像及其名称(图片展示的是默认头像及默认提示字符),聊天框内会提示用户进入(不会提示用户离开。可以实现,但个人觉得不必要。实现了用户离开时轮盘会将该用户的头像与提示字符改为默认头像及默认提示字符)、用户在房间内的聊天信息等

边栏推荐
猜你喜欢

junit单元测试报错org.junit.runners.model.InvalidTestClassError: Invalid test class ‘xxx‘ .No runnable meth

Learning and using quartz scheduling framework

In depth learning series 46: face image super score gfp-gan

Project_ Filter to solve Chinese garbled code

Initialization layer implementation

GloRe

UNET code implementation

直播回顾 | 传统应用进行容器化改造,如何既快又稳?

产品-Axure9(英文版),原型设计后台动态二级菜单显示内容

MYSQL牛客刷题
随机推荐
Database principle experiment test questions, about book classification table
Xshell7 Download
901. stock price span
GloRe
Nacos适配oracle11g-建表ddl语句
细说Idea那些骚操作
深度学习系列47:styleGAN总结
.h5文件忘记数据库名字,使用h5py打印
407-栈与队列(232.用栈实现队列、225. 用队列实现栈)
GINet
Endnote20 tutorial sharing (unfinished
Deeplab V3 code structure diagram
899. 有序队列
897. incremental sequential search tree
306. Addenda
About Supervision
Spock约束-调用频率/目标/方法参数
295. 数据流的中位数
【AI实战】xgb.XGBRegressor之多回归MultiOutputRegressor调参1
316. 去除重复字母