ios에서 Banjour 기반 응용 프로그램을 구현하려고합니다. 나는 성공을 완벽하게 구현하여 하나의 아이폰으로 다른 아이폰으로 데이터를 보내고 받는다. 작업을 검색 한 후 다른 모든 장치를 서비스합니다. 표에 표시하십시오.Bonjour 기반 iOS 응용 프로그램에서 복수 주소를 확인하는 방법은 무엇입니까?
는 이제 테이블 뷰 일부 장치를 선택하고, 선택된 장치 나 각 장치의 하나 개의 소켓을 생성하는 옵션
에 데이터를 전송하기 원한다.
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];
}
}
위의 코드에서 각 장치의 주소를 확인하려고 시도하는 경우입니다. 첫 번째 장치에서만 해결됩니다. 오류
- (오류 코드 = -72003]
하나 내가 자동으로있는 tableView에서 제거 장치에 대한 주소
를 해결하면 더 문제가 그래서 내 의심은 점점 :.
를- 왜 선택한 장치가 재생성 되나요?
- 지금 ic TCP 기반 소켓 reate, 데이터를 보낼 대상 주소를 추가하는 방법?
- 단일 소켓에서 여러 대상으로 데이터를 보낼 수 있습니까?