Я просмотрел документацию Apple, но до сих пор не понял одну вещь, сессию.
Когда - (void)advertiser:(MCNearbyServiceAdvertiser *)advertiser didReceiveInvitationFromPeer:(MCPeerID *)peerID withContext:(NSData *)context inventoryHandler:(void (^)(BOOL, MCSession *))invitationHandler вызывается, нам нужно передать сеанс в обработчик приглашений. Что будет с этой сессией? Когда A приглашает B присоединиться к сеансу, созданному A, предоставляет ли B новый сеанс также и A? Что находится внутри сеанса B? Это только один A или он включает всех пиров, которые в настоящее время находятся в сеансе A? Должен ли B отслеживать сеанс, который использовался для принятия приглашения A? В этой статье, http://nshipster.com/multipeer-connectivity/, руководство создает новый сеанс на лету и использует его для принятия приглашения, не потеряете ли вы сеанс после завершения функции; таким образом теряя информацию подключенным пирам?
Предположим, что B, C и D приглашены A, и теперь B хочет отправить что-то C. Требуется ли, чтобы B сначала отправил информацию A, или B может отправить информацию непосредственно C?
Согласно документации Apple, один сеанс может содержать не более 8 пиров. Можно ли создать массив сеансов, чтобы вы могли пригласить более 8 человек присоединиться к вашему устройству? Если это так, должен ли клиент также отвечать массивом, чтобы он мог содержать более 8 одноранговых узлов в своем списке?
Предположим, что A и B теперь подключены, и теперь A приглашает C присоединиться. Как B узнает, что C сейчас находится в сеансе?
Спасибо, что прочитали такой длинный пост.