2014-11-11 2 views
2

Я работаю над связью Multipeer в ios 7 и его работой. Но мне нужно, когда я нажимаю кнопку поиска, ему нужно отобразить все ближайшие сеансы (не рядом с устройствами). Для этого существует любое возможное решение. Пожалуйста помоги!!!Multipeer Connectivity: список всех ближайших сеансов

+0

Перейди через продувочный URL для урока Multipeer Connectivity http://www.appcoda.com/intro-multipeer-connectivity-framework-ios-programming/ –

+0

@SureshThoutam Я прошел через earlier.It ссылку просто показывает как работает мультипитер. Что касается моего вопроса выше, мне нужно много внутренних деталей. Спасибо за поддержку. – DHEERAJ

ответ

0

Вы не скажете, почему вы хотите передать MCSession объекты между одноранговыми узлами, но как только у вас есть два подключенных одноранговых узла, вы можете передать любой объект, соответствующий протоколу NSCoding между одноранговыми узлами, используя один из методов отправки данных MCSession, таких как в

- (BOOL)sendData:(NSData *)data toPeers:(NSArray *)peerIDs withMode:(MCSessionSendDataMode)mode error:(NSError **)error 

Однако MCSession не соответствует NSCoding, так что вы бы лучше посылать метаданные из MCSession между сверстниками. Поэтому, если Peer A и Peer B были связаны, а Peer A хотел знать, к каким другим партнерам Peer B подключен, Peer B может отправить массив объектов NSString, в котором перечислены displayName каждого партнера.

Но даже если вы это сделали, если Peer A не обнаружил (или был обнаружен) подключенными одноранговыми узлами Peer B, вы все равно не сможете общаться с ними. Тот факт, что вы ищете способы отправки MCSession объектов между сверстниками, означает, что, вероятно, лучший способ решить то, что вы пытаетесь достичь.

TL; др

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

0

Вы не можете рекламировать MCSession, вместо этого используйте несколько объектов MCNearbyServiceBrowser и MCNearbyServiceAdvertiser объектов для просмотра и рекламы нескольких типов услуг.

При initilize MCNearbyServiceAdvertiser с помощью initWithPeer:discoveryInfo:serviceType: поставить имя службы (тип сервиса) в обнаружить информацию, так что, когда вы всматриваться получить найдены с помощью MCNearbyServiceBrowser (просмотра для одного типа услуг) внутри MCNearbyServiceBrowserDelegate «s browser:foundPeer:withDiscoveryInfo: вы можете определить услугу тип и отображение в пользовательском интерфейсе.

Таким образом, один и тот же одноранговый узел будет отображаться несколько раз с различными типами услуг. Вы можете выбрать нужный тип сервиса для продолжения. Я предлагаю вам использовать отдельный MCSession для каждого типа услуги. Для этого вам необходимо тщательно сохранить все объекты браузеров и рекламодателей.

Надеюсь, это поможет.

Смежные вопросы