Как подключить несколько пиров в приложении iPhone через WiFi? - PullRequest
4 голосов
/ 12 января 2012

У меня есть идея для приложения ios (iPhone), к которому требуется подключение к нескольким пирам.Я основываю свой код на примере WiTab (SampleCode-developer.apple.com).

Когда мое приложение запускало каждый узел, создавая отдельный сокет (CFSocket) и публикуя его через NSNetService Class.InКонкретный экземпляр класса NSNetServiceBrowser находит доступных пиров.И отобразить их имя в TableView. Когда я выбираю строку в табличном представлении, соответствующий адрес партнера был разрешен, соединение установлено и данные отправки-получения были успешно.

Но я хочу выбрать несколько строк вtableView (несколько пиров).и решил адрес выбранных пиров.Для этого я сохранил информацию о выбранных пирах в NSMutableArray.Когда я нажимаю (нажимаю) кнопку отправки, я хочу разрешить адрес выбранного устройства и отправлять данные выбранным узлам.Для этого я сделал этот код

 for(int k=0;k<[selectedService count];k++)
    {

             self.currentResolve = [self.selectedService objectAtIndex:k];         
             self.currentResolve = [self.selectedSer objectAtIndex:k];     
             [self.currentResolve setDelegate:self];    
             [self.currentResolve resolveWithTimeout:60];           
  }

Но это будет разрешено только одно устройство (self.selectedService objectAtIndex: 0). Так как я могу разрешить адрес нескольких пиров / как установить соединение для нескольких устройств.поэтому я сомневаюсь: -

  1. Можно ли одновременно подключить более одного устройства через WiFi?
  2. Если да, какое максимальное количество устройств может быть подключено в одном устройстве?pattern?
  3. Какой тип CFSocket полезен для нескольких соединений (TCP / UDP)?
  4. Требуется ли создавать несколько CFSocket в каждом узле?
  5. Если да, то как?Доступны ли какие-либо документы?
  6. Требуется ли установленный сеанс?
  7. Как определить адрес для нескольких устройств?

Ответы [ 2 ]

8 голосов
/ 05 декабря 2012

Довольно сложно изменить приложение Apple.Developer Witap , потому что вам нужно сохранить все разрешенные адреса, изменить все методы и обработать партию.

Я думаю этот урок достигнет вашей цели.

Приложение называется « Chatty ». Его исходный код находится здесь 1015 *

Download the App --> Open --> Click-on Chatti project tab --> Build Settings --> Change the base SDK to iOS6

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

В этом уроке они собираются исследовать простое приложение для чата для iPhone. Он позволяет вам размещать свою собственную комнату чата и рекламировать ее в локальной локальной сети Wi-Fi (в этом случае ваше приложение действует как «сервер» чата) или находить и присоединяться к комнатам чата, размещенным другими людьми на ваша сеть (выступая в роли «клиента» чата). Как объявление, так и обнаружение комнат чата осуществляются с использованием протокола Apple Bonjour, аналогичного Witap Application

.

Теперь я отвечаю на каждый ваш вопрос

Можно ли одновременно подключить более одного устройства через WiFi?

ДА, Вы можете

Если да, какое максимальное количество устройств может быть подключено в тот же шаблон?

Я думаю, вы можете подключиться к любому количеству устройств

Какой тип CFSocket полезен для нескольких соединений (TCP / UDP)?

Мое предложение - TCP

Остальные ответы на ваши вопросы можно легко понять из примера приложения Chatty:)

Примечание : сервер и клиенты должны находиться в одной сети WiFi

0 голосов
/ 30 ноября 2012

В зависимости от характера вашего приложения вы можете использовать GamKit Framework, и оно будет предоставлять даже больше возможностей, чем вы просите.Вот меры предосторожности, которые необходимо предпринять.

  1. Game Center

6.1 Приложения, отображающие любой идентификатор игрока для конечных пользователей или любой третьей стороны, будут отклонены 6.2 Приложения, использующие идентификаторы игроказа любое использование, отличное от утвержденного условиями Game Center, будет отклонено. 6.3 Разработчики, которые пытаются изменить поиск, отслеживать, связывать, связывать, добывать, собирать или иным образом использовать идентификаторы игроков, псевдонимы или другую информацию, полученную через Game Center, будутбыть удаленными из iOS Developer Program 6.4 Информация Game Center, такая как баллы Leaderboard, может использоваться только в приложениях, одобренных для использования с приложениями Game Center 6.5, которые используют сервис Game Center для отправки нежелательных сообщений, или с целью фишинга или спамабудет отклонено 6.6 Приложения, которые чрезмерно используют пропускную способность сети или пропускную способность Game Center, будут отклонены 6.7 Приложения, которые передают вирусы, файлы, компьютерный код или программы, которые могут нанести вред или нарушить нормальную работу службы Game Center, будутвыбрасываются

...