【问题标题】:Android Multiplayer Real Time game, what is the best protocol/communication? [closed]Android 多人实时游戏,最好的协议/通信是什么? [关闭]
【发布时间】:2010-12-04 13:39:55
【问题描述】:

我想开发一款 Android 多人实时游戏。 但我仍然困惑什么是最好的沟通方式。 我找到了几个选项:

  1. TCP
  2. UDP
  3. Ajax/Comet/Messaging 服务,即 pubnub.com、beaconpush.com
  4. 推送通知
  5. XMPP
  6. Android 云到设备消息传递
  7. Pubsubhubub 协议
  8. Smartfox 服务器

我只是想知道其他实时游戏是如何做到的? 我想知道最常见的做法,并获得可接受的结果。

我很欣赏你的想法。谢谢!

【问题讨论】:

  • 我会使用推送通知(看看 MQTT)...但是,这些服务中的大多数都使用 TCP。也许您必须阅读更多内容才能了解这些技术是什么。
  • 感谢 Christian 提供 MQTT。虽然我有网络开发经验,但我是实时开发新手。
  • 我熟悉的大型多人游戏,大部分网络代码都使用UDP。 Everquest,EQ2,魔兽世界,指环王和战锤。否则延迟太高。当需要发送大量数据并且对时间不敏感时,使用 TCP。想想everquest中的玩家供应商或WoW中的银行界面(我认为......)
  • JimR,感谢您的评论。欣赏它。我是游戏开发概念的新手。这当然很有帮助。

标签: android real-time game-engine multiplayer


【解决方案1】:

您通常可以通过使用 UDP 并自己处理更多网络问题来为特定目标获得更好的性能。 TCP 和建立在它之上的更奇特的东西试图为您提供可靠、有序的通信以及连接会话的感觉,但它们确保可靠性的方法不一定是最适合您的方法。另一方面,它们更容易,因为它们为您完成了更多的工作。

【讨论】:

  • 嗨,克里斯,感谢您的回复。但我想知道其他实时游戏是如何做到的。他们也使用 UDP 吗?
  • 一般来说,实时游戏根据需要使用 UDP 或 TCP。例如,实时策略游戏可能会使用 TCP,因为这些数据包必须通过。但是实时 FPS 可能会使用 UDP,因为有几个丢包是可以的。
  • 我明白了。我需要一个特殊的软件让服务器运行 UDP 吗?是否有任何第三方提供像 pubnub.com 这样的 UDP 服务。您认为“推送通知”可以用于实时游戏吗?
  • 在为大型项目做出关键设计决策之前,您可能应该从一个简单的原型开始,并获得一些经验。
  • 是的,目前我正在使用小型原型对其进行测试。我正在使用最简单的一个,通过 beaconpush.com 推送通知。但是收到回复有延迟。这就是为什么我想知道其他游戏是如何做到的。实时游戏可以接受推送通知吗?
猜你喜欢
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-19
相关资源
最近更新 更多