首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与GKPeerPickerController的连接故障

与GKPeerPickerController的连接故障
EN

Stack Overflow用户
提问于 2011-05-19 00:55:17
回答 2查看 897关注 0票数 3

我正在和GKSession和GKPeerPickerController一起做一场GKSession游戏。我发现连接两个iOS设备的过程是缓慢和不可靠的,即使它们是相邻的。让我们称我的设备为“设备A”和“设备B”。

以下是通常发生的情况:

  1. 在每个设备上,我点击我的应用程序的连接按钮。然后,每个设备都显示"iPads、iPhones或iPod touches“窗口。
  2. 通常很快,这两个设备都注意到另一个设备的存在。然后,我让其中一个设备(比如设备A)连接到另一个设备。设备B的窗口很快就说,设备A不是available.
  3. This,它会变得很烦人。在从1秒到从不的一段时间后,设备B上弹出一个窗口,表示设备A想连接,并询问设备B是否愿意接受connection.
  4. If --上面的窗口弹出了,一切正常进行。但这有时需要很长时间,有时根本不会发生。

我有三个设备,无论我使用的是哪两个设备,我都有类似的问题。

我能做些什么吗?

我的连接方法非常简单:

代码语言:javascript
复制
-(void) findPeerPickerOpponents {
    GKPeerPickerController *picker;
    picker = [[GKPeerPickerController alloc] init]; 
    picker.delegate = self;
    [picker show]; 
    [self.connectionDelegate disableIdleTimer];
}
EN

回答 2

Stack Overflow用户

发布于 2011-11-14 18:03:56

好吧,你应该做的是:

scanning

  • device

  • 让我们说你有设备A、B和C

  • 设备A正在扫描,设备B刚刚启动时将设备B视为新的对等设备--它将邀请发送给B

  • 设备B获得邀请--它自动批准设备,两种设备都连接在一起,没有通知给用户,除非出现在大厅

  • 设备C中的设备显示

H 111设备A,而B试图连接到设备A,他们自动连接并出现在大厅,

  • player触碰设备A上的设备B,

  • 设备A发送想玩的数据包给B

  • B,弹出询问玩家是否想玩A--回答是的,

  • 设备B发送给A,并断开除A以外的每个人(发送

A被接受,断开除B以外的所有人(发送DISCONNECT)

  • device C获取2x断开连接,并将A和B从大厅

F 225/code>中删除)

它的工作比标准方法好得多,即使它的工作量增加了10倍--我用两种方法都做了,这是一个非常好的解决方案。

票数 0
EN

Stack Overflow用户

发布于 2013-09-16 17:09:14

我完全放弃了peerPickerController。看看苹果的GKRocket示例代码。-使用GKSession和同行的表视图。它现在在我的设备上有点错误,原因我还不清楚,但我使用了基本类: GameLobby和SessionManager来让设备很好地连接起来。也有一个优点,不限制你的一个同伴。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6052661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档