地址可达性 - 服务器和端口 - iOS 5

2024-01-08

我正在尝试检查服务器是否在线或离线:连接到服务器时我面临一个问题,即它有一个端口

我现在的代码:

struct sockaddr_in address;
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
address.sin_port = htons(25667);
address.sin_addr.s_addr = inet_addr("fr7.mooshroom.net");

Reachability *reachability = [Reachability reachabilityWithAddress:&address];

请让我知道我做错了什么。请不要将我链接到其他问题,我已经搜索过,但没有一个有我要找的东西。


基本上 inet_addr() 函数不会为您进行域名解析。您需要向其传递一个 IP 地址(例如 127.0.0.1)。

要将 DNS 名称解析为 IP 地址,您需要查看标准 gethostbyname() 函数。

澄清:

struct hostent *host = gethostbyname("fr7.mooshroom.net");
if (host) {
    struct in_addr in;
    NSLog(@"HOST: %s" , host->h_name);
    while (*host->h_addr_list)
    {
        bcopy(*host->h_addr_list++, (char *) &in, sizeof(in));
        NSLog(@"IP: %s", inet_ntoa(in));
    }
}

现在,说了这么多,您确定这会达到您想要的效果吗? SCNetworkReachability Ref 的文档建议不要:

http://developer.apple.com/library/ios/#documentation/SystemConfiguration/Reference/SCNetworkReachabilityRef/Reference/reference.html http://developer.apple.com/library/ios/#documentation/SystemConfiguration/Reference/SCNetworkReachabilityRef/Reference/reference.html

“当远程主机发送的数据包被认为是可达的 应用程序进入网络堆栈后,就可以离开本地设备。 可达性并不能保证数据包实际上会被 被主人接收了。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

地址可达性 - 服务器和端口 - iOS 5 的相关文章

随机推荐

  • Socket.io 404 未找到

    由于某种原因 我不断收到 http 127 0 0 1 3000 socket io socket io js http 127 0 0 1 3000 socket io socket io js 当我查看 chrome 开发者工具网络时
  • 没有 sudo 访问权限无法安装 Python

    我在我的服务器中提取 配置并使用了 make 作为安装包 但是 我无法使用进行安装 我收到错误 wepapps python Python 2 6 1 make install usr bin install c python usr lo
  • MVC 5 捆绑错误

    我有一个大问题 我创建了一个 MVC 5 项目 但无法使用默认代码启动它 问题出在捆绑上 它停在 Global asax cs Application Start方法 在BundleConfig RegisterBundles Bundle
  • 如何解决 Ionic 未捕获错误:找不到模块“。”添加新页面时?

    未捕获的错误 找不到模块 at webpackMissingModule index js 3 at e code index js 3 at Object
  • 为什么 flutter.dev 无法访问?

    我似乎无法访问 flutter dev 网站 我尝试使用不同的浏览器 设备和网络 但总是无法访问 无法访问该网站 flutter dev 响应时间过长 Tried tracert flutter dev只到达主路由器并开始timeout 我
  • 如何在摩纳哥编辑器中设置行尾

    默认为 CRLF 我想将其更改为 LF 因为我正在处理 BASH 脚本 请帮忙 我已浏览文档但找不到任何解决方案或示例 https github com Microsoft vscode blob 013501950e78b9dde5c2e
  • 使用适用于 IE 的 Javascript 模拟单击​​链接

    我想让 javascript 单击页面上的链接 我在网上发现了一些建议添加如下功能的内容 function fireEvent obj evt var fireOnThis obj if document createEvent var e
  • 如何检测 iframe 来源何时更改?

    我想检测用户何时单击其中的链接iframe并改变来源iframe 因为我想调整它的大小 我也使用 jQuery 检测这一点的最佳方法是什么 实际上我需要这样的东西 这个例子是在jQuery中 它不起作用 我想象这个 iframe live
  • 为什么 BindingSource 不告诉我哪个属性已更改?

    我正在考虑使用数据绑定 最简单的事情似乎是使用 BindingSource 来包装我的数据对象 然而 虽然 CurrentItemChanged 事件告诉我属性何时发生更改 但它并没有告诉我是哪一个属性发生更改 而这是我需要的重要部分 有什
  • 动画关键帧的 scss 函数

    我想做一个可重用的 sass 函数 让我可以轻松编写 keyframescss 动画 无需编写太多代码 但我不知道如何去做 尤其是数学部分 我有一个包含带有此 css 的单个背景图像的 div height 100vh width 8000
  • 与页面交互时图像质量第二次下降

    当页面以任何方式移动时 窗口大小调整 滚动 悬停 用作图标的图像会重新渲染并使侧面变得粗糙 它在具有透明背景和圆形边框的图像上非常明显 如示例中所示 有什么办法解决这个问题吗 例子 img src http www iconsd
  • 基本 Firebase 数据库保存

    任何人看到下面的内容都是正确的答案 并且我的所有设置都正确 我仍然不知道问题是什么 我用 facebook 登录 用它来创建一个 firebaseuser 对象 然后发送以下内容作为测试数据 我发现这是一个间歇性问题 从设备上卸载应用程序并
  • Reactjs - 控制多个复选框

    我在 Reactjs 中构建了一个 CheckAllBoxes 组件 我有一个物品清单 fruits orange apple grape 将军
  • 如何在不使用“return”语句的情况下退出异步协程?

    我在决定如何打破这个协程时遇到了一些麻烦 如果except声明捕获 通常 我只会使用 def f x try foo var next a volitile generator x except Exception print it bro
  • 如何在 Room 中动态创建新表?

    请帮帮我 在我的应用程序中 用户可以通过按按钮创建新的数据库表 用户还可以稍后访问该表以接收其中的数据 目前我通过 dataBaseHelper 类利用旧的 SQLite 所以我可以 public static void createTab
  • 如何在 Airflow 中的 PythonOperator 中登录 Python 函数

    我在 Airflow DAG 中使用 PythonOperator 并且需要在操作符的 Python 函数中打印一些内容 我尝试打印 但显然没有成功 不太确定这会起作用 接下来我尝试在 PythonOperator 中传递 self log
  • XAML 中的属性 Duration 不允许值类型 Duration

    我正在尝试使用普通的 Windows Metro 风格应用程序执行以下操作 public class MyButton Button public Duration Duration get set
  • 元类冲突:基类和派生类具有不同的元类

    class AbstractBaseClass metaclass abc ABCMeta abc abstractmethod def someMethod class DerviedClass AbstractBaseClass met
  • Sqlite + Java:表未更新

    我正在使用 SQLite 的 Java 包装器 名为SQLiteJDBC http www zentus com sqlitejdbc 这可能会对任何答案产生一些影响 我有一个在 GUI 中显示的表 在该 UI 中 我有一个用于该表的单个行
  • 地址可达性 - 服务器和端口 - iOS 5

    我正在尝试检查服务器是否在线或离线 连接到服务器时我面临一个问题 即它有一个端口 我现在的代码 struct sockaddr in address address sin len sizeof address address sin fa