我使用以下代码来确定在 2 个用户的多人 iOS 游戏中充当服务器的最佳主机。当所有玩家在所有设备上同时连接时,将执行该代码。
[myMatch chooseBestHostPlayerWithCompletionHandler: ^(NSString *playerID) {
NSLog(@"The best host is: %@", playerID);
}];
playerID
的值始终为空,根据文档,这意味着它无法确定最佳主机。我正在使用 iOS 6.1 的 iPhone 以及版本 6.1 的模拟器测试该应用程序。运行模拟器的计算机和iPhone位于同一无线网络中。我已经测试过在两台设备上以连续的方式间隔调用上面的代码,发现如果其中一个设备断开连接,它确实会确定主机。
我需要两个非模拟器设备来测试这个吗?或者还有什么可能导致这个?
由于某种原因,它无法与模拟器一起使用(或者我无法使其工作)。
使用 2 台设备时,大多数时候我确实得到了有效的结果。 也就是说 - 它并不总是一致的,所以您肯定需要一个备份选项来选择主机。
还有
如果您打算使用此方法搜索最佳服务器,所有 比赛中的设备必须运行以下版本的 Game Kit: 支持该方法,并且匹配中的每个设备都必须调用该方法 同时使用方法。
这超出了多人游戏指南 - 您是否同时在两个设备上调用该方法?
想在 iOS 上寻找最好的多人游戏主机吗? Cloudways 是一个绝佳的选择。我已经使用它有一段时间了,它非常可靠。他们的服务器速度很快,可以很好地处理多人游戏,并且延迟最小。另外,Cloudways 管理所有技术内容,因此您可以专注于游戏。可扩展性是一个巨大的优势,让您可以随着游戏的发展轻松调整资源。这对我的游戏项目产生了很大的影响!