0

我正在尝试使用以下代码检查我的服务器的可达性状态:

struct sockaddr_in address;
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
address.sin_port = htons(80);
address.sin_addr.s_addr = inet_addr("172.21.38.120");  

Reachability *hostReachable = [Reachability reachabilityWithAddress:&address];
[hostReachable startNotifier];

然后检查主机状态,但它总是给出状态为 NotReachable。我尝试使用以下命令检查服务器是否可以从终端访问:

telnet Hostname port

终端显示状态为已连接。有什么我做错了吗?提前致谢。

4

2 回答 2

0

自从升级到 XCode 4.6 这对我来说也是一个问题。我可以让它在没有端口的情况下工作 - 例如 10.1.1.1 工作, 10.1.1.1:8000 没有。以前两者都有效。此外,XCode 和 Simulator 可以缓存结果/值,所以如果它不起作用,请尝试“清理”或重置您的模拟器

于 2013-02-05T23:43:21.397 回答
0

尝试将reachabilityWithAddress 更改为reachabilityWithHostname。

参考:https ://github.com/tonymillion/Reachability/issues/9 http://lists.apple.com/archives/macnetworkprog/2009/May/msg00056.html

于 2012-10-31T08:50:32.663 回答