在阅读了几个教程之后,我想出了以下代码: (使用着名的GCDAsyncUdpSocket类)
NSError *error = nil;
if (![mSocket connectToHost:@"192.168.1.111" onPort:9050 error:&error])
{
NSLog(@"Error connecting: %@", [error description]);
}
usleep(100000);
NSString* str = @"teststring";
[mSocket sendData:[str dataUsingEncoding:NSUTF8StringEncoding] toHost:@"192.168.1.111" port:9050 withTimeout:-1 tag:1];
如果我在iPhone上运行此代码,一切似乎都很好(没有错误)。 但数据包永远不会到达我的电脑上。
在我的电脑上正在运行UDP侦听器(与Wireshark一起)。两个设备在同一网络上具有相同的子网和类似的IP(我的PC是192.168.1.111)。难道我做错了什么?希望这是一个简单的错误吗?
答案 0 :(得分:1)
方法
sendData:toHost:port:withTimeout:tag:
sendData:toAddress:withTimeout:tag:
用于发送带有未连接套接字的邮件,因此您不应该调用connectToHost
。对于已连接的主机,您可以使用
sendData:withTimeout:tag: