0

在阅读了几个教程后,我想出了以下代码:(使用著名的 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 上运行此代码,一切似乎都很好(没有错误)。但是数据包永远不会到达我的电脑。

在我的 PC 上,一个 UDP 侦听器正在运行(与 Wireshark 一起)。两台设备都在同一个网络上,具有相同的子网和相似的 IP(我的 PC 是 192.168.1.111)。难道我做错了什么?希望是一个简单的错误?

4

1 回答 1

1

方法

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

用于使用未连接的套接字发送消息,因此您不应调用connectToHost. 对于连接的主机,您可以使用

sendData:withTimeout:tag:
于 2012-09-28T17:38:39.423 回答