ローカル サーバーへの 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 ローカルのどこにもリモートのキューもありません 0 読み取り 0 書き込み、現在の読み取りなし、現在の書き込みなし、読み取りストリーム 0x299720 開いていない、書き込みストリーム 0x299aa0 開いていない、接続されていません
「どこにも」と書かれている場合、もちろん IP アドレスが必要ですが、ありません。オンラインの例から、私のコードは問題ないように見えますが、2台のコンピューターと電話で実行すると、この「どこにもない」ことが発生するため、おそらく何か間違ったことをしています. 誰にもアイデアがありますか?
ありがとう!
編集:明確にするために:エラーレポートを使用する場合(NSErrorインスタンスを「connectToHost:onPort:error」に渡し、それをNSLoggingすることにより)、返されるのは(null)
.