次のコードを使用して、.NET サーバーからの応答をキャッチしようとしています。
telnet テストを実行すると動作します (応答が得られます)。しかし、このコードを使用すると、応答がありません。
-(IBAction)connectClicked:(id)sender {
if (![socket connectToHost:@"192.168.100.192" onPort:1337 error:nil]) {
NSLog(@"connection failed");
}
}
-(IBAction)fireClicked:(id)sender {
NSString *welcomeMsg = @"GetId";
NSData *welcomeData = [welcomeMsg dataUsingEncoding:NSUTF8StringEncoding];
[socket writeData:welcomeData withTimeout:-1 tag:0];
NSLog(@"message sent!");
}
- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString*)host port:(UInt16)port {
NSLog(@"onSocket:%p didConnectToHost:%@ port:%hu", sock, host, port);
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:-1 tag:0];
}
-(void) onSocket:(AsyncSocket *)sock didReadData:(NSData*)data withTag:(long)tag {
NSLog(@"onSocket:%p didReadData:%i", tag);
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:-1 tag:0];
}
- (void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag {
NSLog(@"onSocket:didWriteDataWithTag:%i", tag);
[sock readDataToData:[AsyncSocket CRLFData] withTimeout:-1 tag:0];
}
サーバーとの接続は確立され、サーバーに情報を送信できますが、応答がありません。
これは私がログに記録したものです。
2011-03-21 10:00:32.424 CtC[33521:207] onSocket:0x4c3ebc0 didConnectToHost:192.168.100.192 port:1337
2011-03-21 10:00:35.846 CtC[33521:207] message sent!
返信が届かないのはなぜですか?