如何从 NSStream 获取 EASession?

Posted

技术标签:

【中文标题】如何从 NSStream 获取 EASession?【英文标题】:How can I get the EASession from NSStream? 【发布时间】:2013-04-12 22:15:09 【问题描述】:

我们想通过蓝牙为一个外部配件打开 3 个插座。为此,我假设我应该使用相同的 openSessionForProtocol: 方法创建 3 个单独的 EASession,使用相同的协议。

现在我遇到的问题是在 stream:handleEvent: 我想知道当前 NSStream 属于哪个 EASession,但看起来没有办法做到这一点。有没有人这样做过或知道如何做到这一点?

【问题讨论】:

【参考方案1】:

在这种情况下,我将创建一个从NSStreamEASession 的字典映射,并将其提供给NSStreams 的代表。这是一个简单的解决方案,但比遍历所有 EASessions 查看每个流以进行匹配要快一些。

另一种解决方案是为每个流设置单独的委托对象,但根据您的问题,这似乎不是您正在阅读的解决方案。

【讨论】:

以上是关于如何从 NSStream 获取 EASession?的主要内容,如果未能解决你的问题,请参考以下文章

将传入的 NSStream 转换为 View

如何在 NSStream 中使用委托?

如何在 NSStream 中使用委托?

通过 NSStream 与我的证书进行 SSL 握手

iOS网络编程实践--NSStream实现TCP Socket iPhone客户端

NSStream实现发送和接受数据