Android多人国际象棋 - 如何处理服务器连接?

Posted

技术标签:

【中文标题】Android多人国际象棋 - 如何处理服务器连接?【英文标题】:Android multiplayer chess - how to handle server connection? 【发布时间】:2014-06-06 19:11:36 【问题描述】:

只是为了好玩,我想在 android 上创建一个简单的类似国际象棋的游戏。它将是 2 名玩家的多人游戏,游戏会话存储在专用服务器上。

我想知道 - 如何处理服务器 -> 客户端连接?我需要客户端的实时响应,即在一个玩家移动后,游戏将等待另一个玩家移动。一旦他这样做了,玩家 1 设备中的游戏需要立即知道这一举动。

Google Cloud Messaging 是否适合此类操作?在交货速度方面可靠吗?或者有没有更好的技术来进行这种交流?

【问题讨论】:

【参考方案1】:

一般来说,这就是你使用套接字编程的那种事情。您在客户端和服务器之间保持持久连接。当需要通知客户端时,您只需通过套接字发送数据。这里的 GCM 有点矫枉过正,而且可能不够直接。

【讨论】:

Android 中的 Sockets 在电池寿命方面的表现如何?我可以在第一人称射击游戏等“真实”响应式游戏中想象它们,打开插座不会很快耗尽设备吗? 它会耗尽电池电量,尽管没有显示器那么多(我假设显示器在播放时会打开)。但是你说你想要实时 - 直接连接是获得实时的唯一方法。您可以在移动和通知之间延迟多长时间,因为您似乎真的不想要实时?

以上是关于Android多人国际象棋 - 如何处理服务器连接?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理线程池达到服务器连接限制

国际用户访问美国服务器的 MySQL 数据库问题。这通常是如何处理的?

如何处理 com.android.volley.NoConnectionError: java.net.UnknownHostException

Android adb.exe程序启动不起来,如何处理

如果连接关闭,我该如何处理连接并重新连接?

android服务重新启动时如何处理远程对象?