Как я могу получить EASession из NSStream?

Мы хотели бы открыть 3 розетки через Bluetooth для одного внешнего аксессуара. Для этого я предполагаю, что мне нужно создать 3 отдельных сеанса EASession с одним и тем же методом openSessionForProtocol: с использованием одного и того же протокола.

Теперь у меня проблема в том, что в stream:handleEvent: я хотел бы знать, к какому EASession принадлежит текущий NSStream, но не похоже, что есть способ сделать это. Кто-нибудь делал это раньше или знает, как это можно сделать?


person user1122025    schedule 12.04.2013    source источник


Ответы (1)


В этом случае я бы создал сопоставление словаря из NSStream обратно в EASession и сделал его доступным для вашего делегата NSStream. Это простое решение, но немного быстрее, чем перебирать все EASession в цикле, просматривая каждый поток на предмет совпадения.

Другое решение состоит в том, чтобы иметь отдельные объекты делегата для каждого потока, но, судя по вашему вопросу, это не то решение, которое вы просматриваете.

person gaige    schedule 14.04.2013