android - 如何在没有互联网访问的情况下创建跨平台多人游戏

标签 android ios networking cross-platform multiplayer

我正在开发一款适用于 Android 和 iOS 的跨平台多人游戏。 我需要在没有主服务器的设备之间创建直接网络连接,以便能够在没有任何互联网访问权限的情况下进行游戏(例如在地铁中)。

我已经尝试过这种名为“Skies of Glory”的游戏,玩家之间的链接是在没有互联网访问的情况下直接进行的。例如电脑游戏,客户端玩家可以看到并连接到由其中一位玩家创建的游戏服务器。

我无法找到能够提供这种网络功能的“免费”游戏框架,因此我尝试找到一种标准化的方式来查看主机服务器并通过无线连接(wifi 或蓝牙)。 iOS 和 Android 是不同的世界,但两个平台都支持大多数网络标准。

So how do it ?

我已经排除了解决方案:

  • Android 的 WIFI direct:与 iOS 不兼容且在 4.x 上可用,因此它太有限了。
  • OSI 的高级协议(protocol),因为它假设在同一个托管网络中(因此在城域网中是不可能的)

我的线索

  • 将其中一个设备设为路由器,但无需用户操作。
  • Piconet 技术(如果它在两个操作系统上都可用)。

如果有人有其他想法....

谢谢你的帮助

最佳答案

在 iOS 上,您可以尝试使用 Bonjour http://en.wikipedia.org/wiki/Bonjour_(software ) https://developer.apple.com/technologies/ios/networking.html但是构建您需要的内容需要您自己编写合理数量的程序。

在 Android 上你可以使用 zeroconf http://en.wikipedia.org/wiki/Zero_configuration_networking如果您可以找到合适的现有端口或使用 NDK 自行移植它。

关于android - 如何在没有互联网访问的情况下创建跨平台多人游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11989012/

相关文章:

java - 检查 Hashmap 中的键是否在 AutoCompleteTextView 中输入

java - 安卓日历 : Changing the start day of week

python - Python/Mongo 的网络压缩

android - 如何在 Android 上为单个联系人设置铃声?

android - 将项目添加到 Endless Scroll RecyclerView,底部有 ProgressBar

ios - 为什么 faSTLane 匹配让我输入密码,即使我已经输入了

ios - 验证 iOS App 时出错

ios - 如何更改 UILabel 行中的垂直边距/间隙

VBA 与 WinSock2 : send() sends wrong data

android - TrafficStats Api android 和每日数据使用量的计算