vik*_*kas 2 iphone objective-c
我查看了其他相关问题,但没有一个给我正确的方法.
我需要检查我的应用程序中的主机可用性.我正在使用可达性API进行主机检测.我按照下面的说法使用它
self.hostReach = [Reachability reachabilityWithHostName:@"https://10.98.241.22:8080/arsys"];
[self.hostReach startNotifier];
Run Code Online (Sandbox Code Playgroud)
即使主机可用,它也会在以下代码中将连接状态设置为"不可访问"
NetworkStatus netStatus = [self.hostReach currentReachabilityStatus];
Run Code Online (Sandbox Code Playgroud)
请帮帮我,让我知道我做错了什么.
我需要使用reachabilityWithAddress这种类型的主机URL.如果是,那么请建议我使用此API的示例示例.
感谢大家!!
主机名基本上是指域名,而不是协议(http/https)和IP地址.
如果您想使用IP地址,请尝试-reachabilityWithAddress:.它应该看起来像这样:
struct sockaddr_in address;
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
address.sin_port = htons(8080);
address.sin_addr.s_addr = inet_addr("10.98.241.22");
Reachability *addressReach = [Reachability reachabilityWithAddress:&address];
Run Code Online (Sandbox Code Playgroud)
别忘了 #include <arpa/inet.h>
编辑 - 4年后
解决这个问题的现代和正确的方法是使用像AFNetworkReachabilityManager这样的东西,它也可以检查可用的互联网连接类型.
| 归档时间: |
|
| 查看次数: |
3835 次 |
| 最近记录: |