【问题标题】:Is it possible to have two instances of GKSession on the same device when using Bluetooth?使用蓝牙时是否可以在同一设备上拥有两个 GKSession 实例?
【发布时间】:2011-10-07 03:26:52
【问题描述】:

我正在编写多人游戏,并认为我会创建两个 GKSession 实例。一个会话设置为 GKSessionModeServer,另一个会话设置为 GKSessionModeClient。当我在客户端对等方调用 peersWithConnectionState: 并且每个会话具有不同的对等点 ID 时,服务器会正​​确报告。但是当我尝试连接到服务器时,我收到消息 session:connectionWithPeerFailed:withError: 错误描述“挂起传出邀请时失败。”。

当 Wi-Fi 可用时,可以使用两个 GKSession。恐怕蓝牙有一些限制,不允许这样做,但我不确定。我可以重写代码以在服务器上使用单个 GKSession,但如果我知道其他人让它与两个实例一起工作,我宁愿不编写特殊情况。

如果我同时关闭 Wi-Fi 和蓝牙,我会收到错误消息“网络不可用”。如果任何一个打开,我都不会得到。这让我相信当附近有另一部 iPhone 时它​​也不会工作。

【问题讨论】:

    标签: iphone client gksession


    【解决方案1】:

    我重写了代码,所以我只在托管设备上创建了一个 GKSession,并直接在服务器和本地客户端之间发送数据,而不使用 GKSession。我终于可以用两台设备进行测试,它们可以正确地相互连接。所以教训是主机上只有一个 GKSession,它将与蓝牙和 Wi-Fi 一起工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 2014-08-18
      • 1970-01-01
      相关资源
      最近更新 更多