在游戏中玩家移动怎么让所有人都能看到?
负载有限,如果一个场景最大只能支撑数十人,容纳上万人的场景要怎么实现同步?
衍生出分布式程序:
有两个玩家,分别进入不同的世界,如图代表兽人村落和森林两个游戏场景,客户端直接连接角色所在的场景,玩家只能看到所在场景的角色,不同场景角色可以全服聊天。该程序可分成三个步骤实现。
重点就是共同发给一个转发服务器
例如:gs1发送消息给cds,cds发送给所有的gs,单个gs发给所有的在线玩家
类比进行测试,先运行聊天服务器,再依次运行两个场景服务器(假设监听的端口分别为8001和8002)。如图,客户端A和B连接第一个场景服务器,客户端C连接第二个场景服务器,当客户端A走动时,因为A、B同在一个场景中,所以它们会收到移动消息,而客户端C不在同一场景中,因此它不会收到;若客户端A发送聊天信息“战神公会招人”,因为有个聊天服务器转发给三个客户端都能收到。