2015-02-21 14 views
0

Iam, использующий функцию соединения Multipeer.Отключение сеанса без выхода из приложения

Рассмотрите, что A, B, C подключены в сеансе, созданном A.Suppose B, хотят выйти из сеанса без отключения сеанса ([сеанс Disconnect]) или выйти из приложения. Это возможно ?. Выключает ли рекламодатель B, отключает его от сеанса ?. Или есть другой способ? Пожалуйста помоги!

+0

Вы спрашиваете, как я выпускаю B от сессии с не влияя на сеанс связи между А и С? – 300baud

+0

Да точно .. любая надежда ???? – DHEERAJ

+0

ответил ли ответ? Если да, оцените подтверждение – 300baud

ответ

0

образец приложения Apple, для рамочного сотрудничества MCMultipeerConnectivity содержит пример использования, который вы описываете.

Они создают класс оболочки для обработки MCSession, и каждая MCSession поддерживает массив подключенных MCPeerID.

Источник: https://developer.apple.com/library/ios/samplecode/MultipeerGroupChat/Introduction/Intro.html

0

В ваших обстоятельствах нет ничего, что помешало бы вам создавать несколько сеансов с одним одноранговым узлом (у меня есть работа с решением, которая до сих пор работает нормально, до 16 одноранговых узлов). Кстати, this answer может также помочь

Вариант 1: А-> В (1 сеанс) A-> C (сеанс 1)

Вариант 2: А-> В (сессия 1) A- > C (сессия 2)

В варианте 2, вы можете просто [сеанс разъединение] для A-> C без ущерба для A-> B

- (void)advertiser:(MCNearbyServiceAdvertiser *)advertiser didReceiveInvitationFromPeer:(MCPeerID *)peerID withContext:(NSData *)context invitationHandler:(void(^)(BOOL accept, MCSession *session))invitationHandler 
... 
    terminalDev.session = [self newSession]; 
    terminalDev.peerID = peerID; 
    invitationHandler(YES, terminalDev.session); 

- (void)browser:(MCNearbyServiceBrowser *)browser foundPeer:(MCPeerID *)peerID withDiscoveryInfo:(NSDictionary *)info 
      // save the peerID for later communications 
      hostDevice.peerID = peerID; 

      // and ask the browser to invite the peer(host) to the session for this device 
      hostDevice.session = [self newSession]; 

      DDLogDebug(@"Inviting Host %@ to session %@", remotePeerName, hostDevice.session); 
      [browser invitePeer:peerID toSession:hostDevice.session withContext:nil timeout:30.0];