2011-02-10 138 views
0

我使用Game Center matchmaking/multiplayer实现了一个2人玩家基于转换的游戏,换句话说就是使用GKMatch。它运作良好。只有一个问题:当一个玩家断开连接(即退出应用程序)时,需要一段时间才能得知其他玩家(match:player:didChangeState:)。有时甚至30秒。游戏中心多人游戏,连接超时时间很长

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

2个问题:

  • 这是只与沙盒服务器的问题?
  • 如果不是,我该怎么做才能缩短/消除这个等待期?
+0

也许这只是由网络问题引起的。您是否尝试过使用其他网络? – ender 2011-02-10 20:41:49

+0

你好,我有类似的问题。我已经实现了与4人多玩家游戏。现在当一名玩家断线休息时,所有3名玩家断开连接。我想要的是如果1人将断开连接,然后休息3应继续玩。是否有可能。和 – 2012-10-03 10:54:05

回答

0

我没有依靠GC的notifyPlayer ..从DC一切退出游戏接听电话我处理我自己的代码..

我的代码中,当玩家A按home键,指应用程序委托人的applicationDidEnterBackground,数据被发送给玩家B以通知该玩家A已经退出游戏。这样,当玩家A退出时,玩家B将立即知道玩家A已经退出。而不是等待游戏中心通知你。