GKSession sendDataToAllPeers, включая отправителя? - PullRequest
2 голосов
/ 10 июня 2010

У меня есть несколько устройств, подключенных через Wi-Fi с помощью GameKit.У меня просто UIAlertView выскакивает, когда коллеги (клиенты) получают данные.Все, кроме отправителя (сервера), показывают это представление предупреждений при отправке данных, поэтому мне интересно, является ли это ошибкой в ​​моем приложении или это ожидаемое поведение.Если устройство, выполняющее отправку, также является GKSessionModePeer, я ожидал бы, что оно также "отправит" свое сообщение receiveData:, так как я отправляю на все peers .

Должен ли я вручную вызывать метод на устройстве отправителя?Например, если бы я хотел отправить пакет «GameStart» на 4 телефона, одноранговые узлы вызвали бы startGame: в методе receiveData:fromPeer:inSession:context:, когда он получит этот пакет, и отправитель будет звонить sendDataToAllPeers: и вызывать startGame:на себя.

Это звучит правильно или есть способ включить отправителя в список sendDataToAllPeers:, чтобы он отвечал точно так же, как и все подключенные узлы?

1 Ответ

2 голосов
/ 13 июня 2010

Полагаю, под отправителем вы имеете в виду отправителя, т.е.тот, который отправляет данные.(Отправитель = предполагаемый получатель, который в вашем случае - каждый).

Это ожидаемое поведение.«Все одноранговые узлы» не включают отправителя, и в настоящее время вы не можете включить отправителя в список sendDataToAllPeers :.Ваш план вызова метода вручную на устройстве-отправителе в то же время, когда вы отправляете сообщение равноправным узлам, звучит как лучший путь.

Если вы хотите убедиться, что данные вышли нормально, прежде чем высделать что-то с отправителем, вы можете отправить подтверждение от пиров.

...