2

我正在编写一个连接到本地网络中的静态 IP 地址的应用程序。如何检查我是否有本地网络连接?我想连接到http://192.168.2.5并且我尝试使用Rechability该类但它返回FALSE,而设备肯定已连接(当我不进行检查时,应用程序工作正常,因此存在连接):

Reachability *r = [Reachability reachabilityWithHostName:@"http://192.168.2.5"];
NetworkStatus internetStatus = [r currentReachabilityStatus];

应该如何解决这个问题?

托马斯

4

2 回答 2

1

我的印象是您没有遵循自述文件和示例代码中解释的使用规则。您似乎同步并立即检查状态,这是行不通的。查看 ReachabilityAppDelegate.m 中的 applicationDidFinishLaunching 方法,该方法显示了在检查状态之前如何等待答案进入(通过reachabilityChanged)。此外,您可能需要调用 startNotifer 才能使其正常工作。

于 2010-04-24T10:43:22.180 回答
0

我看到的问题是:“http://”不是主机名;)

你应该只检查你的 ip 没有 http 部分!

(我知道这是旧的,但没有真正的答案,你可以通过搜索找到这个)

于 2010-11-29T16:45:09.980 回答