Я хотел бы иметь службу, которая подключается через TCP к серверу, а затем постоянно прослушивает входящие данные. Я использую CocoaAsyncSocket, который я использую следующим образом:
self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
NSError *err = nil;
if (![self.socket connectToHost:@"..." onPort:... error:&err]) {
return;
}
[self.socket readDataWithTimeout:-1 tag:1];
а затем в методе делегата чтения:
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {
NSLog(@"%@", data);
[self.socket readDataWithTimeout:-1 tag:1];
}
это правильно, что я немедленно снова звоню readDataWithTimout:tag:
? Или есть (лучший) способ всегда слушать входящие сообщения?