当前位置:网站首页>微信多人聊天及轮盘小游戏(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方法即可向客户端主动发送消息。

截图:

下图简述:轮盘为房间内用户的头像及其名称(图片展示的是默认头像及默认提示字符),聊天框内会提示用户进入(不会提示用户离开。可以实现,但个人觉得不必要。实现了用户离开时轮盘会将该用户的头像与提示字符改为默认头像及默认提示字符)、用户在房间内的聊天信息等

源码地址(由于忘了gitee的密码,无法pull了~,所以穿了压缩包)

原网站

版权声明
本文为[青丝到无发]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weiqiang915/article/details/125397721