iOS没有服务器的在线游戏?

5
我制作了一款iOS游戏,可以通过蓝牙和Bonjour连接。这两种方式都很好用,但我真的希望玩家能够使用任何互联网连接(如edge、3G或不同的Wi-Fi地址)相互玩耍。
问题在于:我没有资源或知识来设置专用服务器或类似的东西。GameKit似乎肯定有一些可以让我做到这一点的东西,但是在过去的一周中花费了数十个小时寻找如何使用它,我什么也没找到。
那么,有没有解决方案的想法?我的游戏只是一对一的,如果这使得解决问题更容易的话。

建立连接将会很复杂。你必须找到一种方法,让其中一个手机找到一个IP地址以与另一个手机通信。此外,我相信运营商通常会为了安全目的而阻止3G网络上未经请求的传入连接。这可能是不可能的。虽然我不是100%确定。 - George
2个回答

2
为什么不使用GameKit通过Game Center进行游戏?
苹果提供了所有基础设施,可以通过他们的服务器在全球范围内玩游戏(在3G或Wifi中)。使用Game Center,您可以与最多4个玩家一起玩游戏(因此在您的情况下没有问题),它是免费的,您无需管理任何服务器,还有朋友之间的邀请机制等等。
您的游戏逻辑保留在客户端,因此它将具有与实际游戏相同的设计(除了API外)。
您可以在官方文档这里找到所有信息。如果您愿意,可以在Ray Wenderlich的博客上找到非常详细的教程(但它使用Cocos2d框架而不是CocoaTouch)。

哇,感谢提供这些链接。对于那些在苹果文档中找不到相关内容的人来说,大部分都在他提供的文档的这个特定页面上: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/Matchmaking/Matchmaking.html#//apple_ref/doc/uid/TP40008304-CH9-SW1 - ArtOfWarfare

1

如果游戏不需要发送大量数据,可以尝试使用GKMatch的GameCenter - 如果您在应用程序和GKMatch以及GKSession之间添加了额外的层,则可以透明地使用两者(因此您的游戏支持本地和全球多人游戏)。经过测试,它可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接