Я пытаюсь установить TCP-соединение с локальным сервером, и, поскольку почти все согласны с тем, что Asyncsocket — это то, что нужно, я тоже пошел на это. Однако я сталкиваюсь с проблемами на самом базовом уровне: экземпляр Asyncsocket не имеет локального или удаленного адреса. У меня не так много кода, но это то, что у меня есть:
- (void)viewDidLoad {
[super viewDidLoad];
AsyncSocket *socket = [[AsyncSocket alloc] initWithDelegate:self];
[socket connectToHost:@"www.google.com" onPort:80 error:nil];
}
- (BOOL)onSocketWillConnect:(AsyncSocket *)sock {
NSLog(@"%@", sock);
return YES;
}
- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port {
NSLog(@"%@", host);
}
В консоли появляется следующее (из NSLog в onSocketWillConnect):
AsyncSocket 0x298de0 локальный нигде удаленный нигде не поставлен в очередь 0 чтений 0 записей, нет текущего чтения, нет текущей записи, поток чтения 0x299720 не открыт, поток записи 0x299aa0 не открыт, не подключен
Там, где написано «нигде», конечно должны быть IP-адреса, но их нет. Из примеров в Интернете видно, что мой код в порядке, но я получаю это «нигде» при работе на двух компьютерах и моем телефоне, поэтому я, вероятно, делаю что-то не так. У кого-нибудь есть идея?
Спасибо!
edit: Для уточнения: если я использую отчеты об ошибках (путем передачи экземпляра NSError в «connectToHost: onPort: error» и NSLogging), все, что я получаю, это (null)
.