我正在尝试建立到本地服务器的 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);
}
以下显示在控制台中(来自 onSocketWillConnect 中的 NSLog):
AsyncSocket 0x298de0 local nowhere remote nowhere has queued 0 reads 0 writes, no current read, no current write, read stream 0x299720 not open, write stream 0x299aa0 not open, not connected
在它说“无处”的地方,它当然应该有 IP 地址,但它没有。从网上的例子看,我的代码很好,但是当我在两台电脑和我的手机上运行时,我得到了这个“无处”的东西,所以我可能做错了什么。有人有想法吗?
谢谢!
编辑:为了澄清:如果我使用错误报告(通过将 NSError 实例传递给“connectToHost:onPort:error”和 NSLogging ),我得到的只是(null)
.