通过WLAN将UDP数据包从iPhone发送到PC

时间:2012-09-28 16:38:27

标签: iphone objective-c sockets udp send

在阅读了几个教程之后,我想出了以下代码: (使用着名的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)。难道我做错了什么?希望这是一个简单的错误吗?

1 个答案:

答案 0 :(得分:1)

方法

sendData:toHost:port:withTimeout:tag:
sendData:toAddress:withTimeout:tag:

用于发送带有未连接套接字的邮件,因此您不应该调用connectToHost。对于已连接的主机,您可以使用

sendData:withTimeout:tag: