MCSession 正在连接,但从未连接

Posted

技术标签:

【中文标题】MCSession 正在连接,但从未连接【英文标题】:MCSession is connecting, but never connected 【发布时间】:2015-02-03 21:25:10 【问题描述】:

我让我的模拟器和手机互相看到对方,其中一个充当浏览器邀请广告商进入会话。但是,我在两边看到的唯一 2 个状态变化是 .Connecting 和 .NotConnected。我从没见过 .Connected。

我是否应该在广告商或浏览器端从 .Connecting 变为 .Connected?我在示例中看不到任何内容。

我的代码中没有任何断开连接语句。不确定连接中断的原因。

【问题讨论】:

这个问题和答案对其他人没有用处,因为问题和答案都反映了无法查看的代码。 @dwsolberg 正是.. 有同样的问题,不知道如何解决.. @Lapidus 我编写了自己的类,而不是类似地工作。 github.com/AaronBratcher/ALBPeerConnection(仍然需要将套接字类换成用swift编写的) 【参考方案1】:

好的,我测试了您的源代码,这就是我的解决方法。

我将您的变量“browserSession.session”替换为“_serverSession”,两个设备都已正确连接并且可以发送数据。

_browser?.invitePeer(device.peerID, toSession: _serverSession, withContext: data, timeout: timeoutTime)

每个对等连接都需要独占会话。 享受吧。

【讨论】:

我希望有一个星型拓扑,其中每个浏览设备可以连接到多个服务器(每个服务器 1 个会话),每个服务器将有一个会话来连接浏览器。

以上是关于MCSession 正在连接,但从未连接的主要内容,如果未能解决你的问题,请参考以下文章

从 MCSession 断开单个对等点?

MCSession 需要很长时间才能解除分配

iOS 8 支持的最大 MCSession 数

在 MCSession 中设置最大对等点

多对等连接:对等连接有时会失败:收到邀请响应,但我们从未向它发送邀请。中止

MultipeerConnectivity 拒绝连接