一、 棋牌游戏服务器的特点
1、国际象棋和纸牌不分地区
一般来说,象棋和纸牌游戏不分为不同的区域。因此,棋牌游戏服务器应该满足随着用户的增加而扩展的需求。
2、房间模式
也就是说,在同一个游戏中,也就是说,在同一个房间里,同一个房间里的人可以接收其他人的信息。
3、每个房间的操作必须按顺序进行
棋牌游戏服务器此功能类似于一般游戏的回合制,每个玩家的操作都是顺序的。
二、 需要解决的技术问题
1、数据共享
由于棋牌游戏没有被划分或划分为不同的服务,我们按照世界服务的思想设计服务器,即服务器是由n台以上的物理机器组成的集群。当用户登录到服务器并创建文件室时,根据负载平衡算法,它可能位于任何服务器上。因此,无论用户登录到哪个服务器,都可以获得自己的数据。我们可以使用redis来共享数据。
2、如何进入房间
在同一个游戏中,我们要求每个人都在同一个房间里。我们可以规定同一房间的用户必须登录到同一个物理棋牌游戏服务器。创建房间后,其他人根据房间号查找房间时,可以根据房间号获取房间所在的服务器IP和端口,判断当前用户登录的服务器IP是否与该房间的服务器IP相同。如果相同,就没有开关。如果没有,客户端将使用IP和端口连接到服务器上的房间。
3、确保房间操作的顺序
成功创建文件室后,以下操作应确保其顺序,因此文件室需要有自己的消息队列。我们可以将到达每个房间的棋牌游戏服务器的消息封装为一个任务,将任务放入消息队列,然后让任务执行器按顺序执行这些任务。