iOS에서 다른 장치를 찾기 위해 bonjour를 사용하므로 둘 사이에서 데이터를 스트리밍 할 수 있습니다. 나는 bonjour를 위해 NSNetService를, 스트리밍을 위해 CocoaAsyncSocket을 사용할 계획이었다.NSNetService와 GCDAsynSocket의 차이점은 무엇입니까?
socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
[socket acceptOnPort:0 error:NULL];
netService = [[NSNetService alloc] initWithDomain:@"local." type:@"_YourServiceName._tcp." name:@"" port:socket.localPort];
사람이 NSNetService
와 GCDAsyncSocket
의 차이를 설명 할 수 없습니다 : this example에서
, 그들은 같은 포트에 GCDAsyncSocket과 NSNetService을 만들?
내게 같은 포트에 2 개의 소켓을 만드는 것처럼 보입니다. 특히 입력 & 출력 스트림을 NSNetService
에서 만들 수 있기 때문에 특히 그렇습니다.
socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
[socket acceptOnPort:0 error:NULL];
가 포트 번호를 0으로 설정되어있는 OS가 사용할 수있는 포트를 집어 것을 의미
[service getInputStream:&input outputStream:&output];
NSNetService에서'getInputStream : getOutputStream :'을 설명해 주시겠습니까? 실제로 서비스를 게시하는 것 이상으로 실제로 소켓 연결을 만드는 것으로 보입니다. – bendytree
@bendytree : 올바르게 문서를 이해하면 Bonjour를 통해 서버에 연결된 * 클라이언트 *가 문서를 사용하게됩니다. –