Mobile 移动网络实时多人游戏?

Mobile 移动网络实时多人游戏?,mobile,network-programming,udp,real-time,3g,Mobile,Network Programming,Udp,Real Time,3g,我刚刚发现我的手机位于对称udp防火墙后面,这意味着udp通信是不可能的。我的3g提供商是t-mobile,它是我国最大的3g提供商之一。我怀疑更多的移动3g提供商有udp限制 我正计划开发一款实时游戏。udb似乎是快速移动的正确解决方案,但我不能使用udp,因为这样我就失去了灵活性(在任何地方玩,很多地方没有wifi)和大量观众(3g提供商阻止udp) 像umts和3g这样的移动网络具有很高的延迟,所以tcp(带重新发送丢失的数据包和排队)不是理想的解决方案 还有别的选择吗?还是应该放弃3g实

我刚刚发现我的手机位于对称udp防火墙后面,这意味着udp通信是不可能的。我的3g提供商是t-mobile,它是我国最大的3g提供商之一。我怀疑更多的移动3g提供商有udp限制

我正计划开发一款实时游戏。udb似乎是快速移动的正确解决方案,但我不能使用udp,因为这样我就失去了灵活性(在任何地方玩,很多地方没有wifi)和大量观众(3g提供商阻止udp)

像umts和3g这样的移动网络具有很高的延迟,所以tcp(带重新发送丢失的数据包和排队)不是理想的解决方案


还有别的选择吗?还是应该放弃3g实时游戏的想法?

很难在网络上实现实时,并满足游戏逻辑的延迟(特别是如果您正在制作一款类似第一人称射击游戏的游戏,您可以在此处了解如何克服延迟问题:)

谈到移动网络,情况就更糟了: 当然,你可以让你的生活更轻松,只覆盖WIFI连接,但是当没有免费的WIFI连接可用时,你将失去所有想要在3G上玩的用户(或者他们只是因为不知道如何切换到WIFI而坚持使用3G连接)。如果你选择覆盖3G,欢迎来到运营商地狱:没有UDP,没有套接字,没有非标准端口,没有长时间超时,和hello断开连接,hello奇怪的头和hello奇怪的代理,现在乘以世界上不同运营商的数量,瞧,你覆盖了他们所有的问题

我不是想吓唬你,只是在实施过程中记住以下几点:
1。无套接字或使用非标准端口-由于明显的原因,运营商不允许使用套接字,他们不希望您占用他们的资源,因为在此期间,他们可以为其他付费客户服务;)如果游戏逻辑允许,请尝试在没有套接字的情况下实现协议。
2。与海外的几个朋友一起测试你的游戏,或者使用可以帮你完成的人群测试服务。您可以通过自己的协议校准延迟。
3。分发服务器将大大有助于解决延迟问题。
4。确保你没有通过网络发送大量数据,要聪明,对设备的电池要温柔。
5。压缩你的数据


完整披露:我在Skiller工作,我们为Android开发者(以及其他开发者)提供多人SDK,并提供免费工具,如社交层、用户管理、创收等。。。我们看到了很多关于3G多人游戏的问题,我们用我们在客户端和服务器端编写的算法来弥补这些问题,从而使开发者的生活更加轻松。如果您想试用我们:

有一些基于云的实时消息服务设计用于在许多不同的移动平台上自适应工作。在游戏中,您经常需要发布/订阅,所以您可能会看到,他们通过14个数据中心提供低延迟,负责您的云基础设施。他们的API非常适合与为此设计的安全和状态API进行游戏。他们有一个新的测试版对象数据同步API,可以减少编码

我喜欢它们的一个关键原因是,它们已经在这个行业工作了很多年,因此它们的API已经在全球大多数3G和企业网络上进行了测试

其他你可能会看到的包括pusher.com和realtime.co以及谷歌的新服务