多重连接与玩游戏服务

Posted

技术标签:

【中文标题】多重连接与玩游戏服务【英文标题】:Multiper Connectivity Versus Play Game Services 【发布时间】:2016-07-08 13:31:00 【问题描述】:

我目前正在开发一个在 ios 设备之间交换小块数据的应用程序。最终,我的计划是发布应用程序的 android 版本。似乎在 iOS 上使用 Google Play 游戏服务进行数据交换并提供 Multipeer Connectivity 似乎有点矫枉过正,但可能需要实现多平台数据交换。我最好分别使用 Multipeer Connectivity 和 Google Game Services 实现 iOS 和 Android 应用程序的完全独立的迭代,还是应该同时使用 Google Game Services?此外,如果有人能详细说明这两个框架之间的性能差异,我们将不胜感激。

【问题讨论】:

【参考方案1】:

Multipeer 是一种 iOS 技术,允许在 附近 iOS 设备之间进行直接通信。这可以使用 Adhoc/Direct WiFi、蓝牙或连接同一 WiFi 路由器上的两个设备。

Google Play 游戏服务允许设备之间通过互联网进行通信。

这两种技术并没有真正的可比性,因为它们解决的问题不同。如果您需要在 iOS 上通过 Internet 进行通信,那么您可能需要评估 Game Center 而不是 Multipeer。如果您需要本地通信,那么也许您应该研究一下 Android 的蓝牙和 WiFi Direct 功能。

【讨论】:

我之前实际上使用过 Multipeer Connectivity(MPC) 和 Google 附近的 Messages API。尽管如此,Google 的附近消息 API 不允许连接到特定的对等点。如果您发布事件,每个人都会看到它。具体来自 Google Play 游戏服务,实时多人比赛允许用户像在 MPC 中一样进行连接,因为您可以通过主机和对等点连接到对等点并直接发送消息 [链接]developers.google.com/games/services/common/concepts/… 据我所知,您无法像使用 Multipeer 那样使用 GPGS 实现直接无线通信。当他们谈论在 Google Play 游戏服务链接中的“房间”中发送数据时,“房间”是指通过互联网链接的一组完全连接的设备。选择谁添加到房间的匹配选项也有点有限。您可以直接邀请 google+ 好友,也可以加入随机匹配。这两种听起来都不太适合您的需求。 在浏览了 google 提供的一些框架后,Play 游戏服务似乎包含了 Nearby Messages API。对于该 API,Google 表示,“Nearby 使用蓝牙、低功耗蓝牙、Wi-Fi 和近超声波音频的组合在设备之间传输唯一的实时配对代码。”【参考方案2】:

除了使用 MPC 或 GPGS,还有更多选择。正如 Columbo 所说,您可以直接在 Android 上使用蓝牙和 WiFi Direct。这是一条漫长而崎岖的道路,因为它在 Android 上不如在 iOS 上稳定。还有其他框架试图缓解这些问题。

免责声明:我在 Uepaa 工作,为 Android 和 iOS 开发 p2pkit。

【讨论】:

你会为这样的任务推荐什么框架? @Alex 您可以查看p2pkit.io、intromi.co 和underdark.io 谢谢!感谢您的帮助。

以上是关于多重连接与玩游戏服务的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序进入后台时,实时多人 Google Play 游戏服务对等方断开连接

分享一个C++与Python开发的中小型通用游戏服务端框架(跨平台,开源,适合MMORPG游戏)

完成游戏后无法再次连接两个玩家自动谷歌玩游戏服务?

游戏服务器框架之网关

使用“Google Play 游戏服务”玩游戏时突然断开连接

游戏Demo服务器开发总结