我正在尝试使用以下代码确定iphone是否可以连接到特定的IP地址(简单ping):
struct sockaddr_in server_address;
server_address.sin_len = sizeof(server_address);
server_address.sin_family = AF_INET;
server_address.sin_port = htons(8888);
server_address.sin_addr.s_addr = inet_addr("192.168.105.44"); // ip address of a server on LAN
Reachability *r = [[Reachability reachabilityWithAddress:&server_address ] retain];
NetworkStatus internetStatus = [r currentReachabilityStatus];
但它始终表示状态为'Reachable',与我在IP地址中提供的内容无关。我做错了吗?为什么这不起作用?提前谢谢。
答案 0 :(得分:1)
相同的行为
+ (Reachability*) reachabilityWithHostName: (NSString*) hostName;
可达性将始终返回TRUE,无论您的HTTP返回码是200还是404都无关紧要。如果您无法使用该解决方案,Prince发布的链接建议您可以
或检查NetReachability。
不知道它是否对你有帮助,因为它使用相同的框架,我没有时间自己测试它。