我正在为 Android 编写一款多人扑克游戏。 游戏本身在服务器上运行(我想是 PHP),客户端相应地一个接一个地向服务器提交他们的回合信息。
现在每次客户端提交他们的回合信息时,我都需要服务器将该数据发送给游戏中的所有其他客户端...
到目前为止我还没有想出如何最好地完成这个 - 我可以让每个客户端每隔几秒轮询一次服务器,看看服务器是否有可用的新回合数据,但我担心这不会非常可扩展,服务器很快就会不堪重负(同时进行多个游戏)...
同样,我发现用于将通知从服务器推送到客户端的 Android 服务(如 GCM、带有 C2DM 的 App Engine)似乎对游戏来说效率不高,因为它们可能需要长达 15 分钟的时间来处理每条消息。 .
仅使用套接字连接并让 Android 客户端使用 AsyncTask 来监听连接有什么问题吗?或者有人知道我可能会用到的图书馆吗?无论我采用什么方法,都需要具有可扩展性、可靠性和快速性(目标是每个玩家的回合时间不超过 30 秒,并希望更快......)
我真诚地感谢您提供的任何建议,因为我是编写此类代码的新手,而且我只能靠自己。非常感谢。
最佳答案
我和其他人在类似的系统上工作,那里的通信也是通过套接字(和自定义协议(protocol))完成的。
关于Android:将游戏数据从服务器发送到 Android 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920902/