gpt4 book ai didi

iphone - 如何检查主机的网络服务

转载 作者:行者123 更新时间:2023-12-03 20:23:20 24 4
gpt4 key购买 nike

我查看了其他相关问题,但没有一个给我正确的方法。

我需要检查我的应用程序中的主机可用性。我正在使用可达性 API 进行主机检测。我按照下面写的方式使用它

self.hostReach = [Reachability reachabilityWithHostName:@"https://10.98.241.22:8080/arsys"];
[self.hostReach startNotifier];

即使主机可用,它也会在以下代码中将连接状态显示为“无法访问”

NetworkStatus netStatus = [self.hostReach currentReachabilityStatus];

请帮助我,让我知道我做错了什么。

对于这种类型的主机 URL,我是否需要使用 reachabilityWithAddress?如果是,请建议我使用此 API 的示例。

谢谢大家!!

最佳答案

主机名基本上意味着域名,而不是协议(protocol)(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];

别忘了#include <arpa/inet.h>

编辑 – 4 年后

解决这个问题的现代且正确的方法是使用类似 AFNetworkReachabilityManager 的东西。它还允许检查可用的互联网连接类型。

关于iphone - 如何检查主机的网络服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6292615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com