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

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

最佳答案

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

另一个解决方案是为每个流具有单独的委托对象,但是根据您的问题,这似乎并不是您正在研究的解决方案。

10-08 05:29