Я пытаюсь реализовать приложение на основе Banjour в ios.Я полностью реализую успех, также отправляя и получая данные с одного iphone на другой iphone.После просмотра сервисов все остальные устройства в работе.и отобразить в таблице.
Теперь я хочу выбрать некоторые устройства в табличном представлении и отправить данные на выбранные устройства
Для этого я создал только один сокет в каждом устройстве.
CFSocketContext socketCtxt = {0, self, NULL, NULL, NULL};
witap_socket = CFSocketCreate(kCFAllocatorDefault, PF_INET6, SOCK_STREAM, IPPROTO_TCP, kCFSocketAcceptCallBack, (CFSocketCallBack)&TCPServerAcceptCallBack, &socketCtxt);
if (witap_socket != NULL)
{
protocolFamily = PF_INET6;
}
else
{
witap_socket = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_STREAM, IPPROTO_TCP, kCFSocketAcceptCallBack, (CFSocketCallBack)&TCPServerAcceptCallBack, &socketCtxt);
if (witap_socket != NULL)
{
protocolFamily = PF_INET;
}
}
Теперь я хочу отправить данные на выбранные устройства.для этого я хранил выбранный NSNetService (т.е. устройства) другого NSMutableArray.При использовании Нажмите кнопку отправки, будет вызвано определенное действие.
-(void)SendActionFunction
{
for(int idx=0;idx<[selectedSer count];idx++)
{
NSNetService *service = [self.selectedSer objectAtIndex:idx];
NSLog(@"service......%@",[service name]);
self.currentResolve = [self.selectedSer objectAtIndex:idx];
[self.currentResolve setDelegate:self];
[self.currentResolve resolveWithTimeout:0.0];
}
}
, если я пытаюсь разрешить адрес для каждого устройства (код выше).Это будет разрешено только для первого устройства.и получение ошибки
еще одна проблема, если я разрешил адрес для устройства, которое оно автоматически удаляет из Tableview.
Итак, мои сомнения:
- Почему выбрано выбранное устройство?
- Теперь я создаю сокет на основе TCP, Как добавить адрес назначения для отправки данных?
- Можно ли отправлять данные из одного сокета в несколько пунктов назначения?