1

我已经使用 Game Center 匹配/多人游戏实现了一个 2 人回合制游戏,换句话说,使用GKMatch. 它运作良好。只有一个问题:当一个玩家断开连接(即退出应用程序)时,其他玩家需要一段时间才能收到通知(使用match:player:didChangeState:)。有时甚至30秒。

这不是一个好的用户体验。如果其他玩家在 30 秒前已经断开连接,我不希望玩家什么都不等。

2个问题:

  • 这只是沙盒服务器的问题吗?
  • 如果没有,我能做些什么来缩短/消除这个等待期?
4

1 回答 1

0

我不依赖 GC 的 notifyPlayer .. 从 DC 到退出游戏再到接听我用自己的代码处理的电话的一切..

对于我的代码,当玩家 A 按下主页按钮时,意味着在应用程序委托的 applicationDidEnterBackground 中,会向玩家 B 发送数据以通知玩家 A 已退出游戏。这样,当玩家 A 退出时,玩家 B 会立即知道玩家 A 已经退出......而不是等待 gamecenter 通知你......

于 2011-02-11T05:57:53.640 回答