我正在寻找基于C++风险的联网棋盘游戏。我的想法是拥有一个中央服务器,该中央服务器托管着游戏大厅,供用户连接和制作/加入游戏。观察者模式在这种情况下似乎很有吸引力,因为我可以在服务器上托管所有的游戏模型/逻辑,客户端只是观察者,并使用视图显示当前的游戏状态。在网络上使用观察者模式进行棋盘游戏
我的第一个问题:这种方法可行吗?我所听到/想到的大多数是客户有他们自己的游戏模型。不过,我正在考虑一个不是计算密集型的游戏,服务器托管的单一模型会有优势(不会出现不同步问题,防止作弊等)。
我的第二个问题:我该如何去实现网络上的Observer模式?由于我无法通过网络进行直接的方法调用,因此我需要一些简单的方法来使用数据来模拟此操作。使用“拉”(观察者请求更新游戏数据)还是“推”(服务器将新的更新数据推送给所有客户端)方法会有更多优势吗?
什么是您的连接限制?我所知道的大多数游戏都使用TCP/IP连接来保持与服务器的连接并获得有关事件的实时通知 – FrenchData 2009-11-28 23:00:27
Observer是关键设计模式之一。它也广泛用于网络游戏体系结构。 – kyoryu 2010-07-28 05:04:13