【问题标题】:How do I ping a server port with iOS 5 SDK如何使用 iOS 5 SDK ping 服务器端口
【发布时间】:2012-07-07 17:48:49
【问题描述】:

基本上,我想检查游戏服务器是否在线/离线,但服务器是通过端口托管的,我将如何 ping 它来检查这一点。出于测试目的,我要 ping 的服务器是 fr7.mooshroom.net:25667,但最终我将从在线 plist 中导入服务器 IP 和端口,以便将 IP 地址和端口分开

如果你能给我一个关于如何做到这一点的分步指南,那将不胜感激。

我正在使用tonymillionReachability,因为苹果不支持iOS 5。

【问题讨论】:

标签: objective-c ios5 xcode4.2 ping


【解决方案1】:

首先,这取决于您是在谈论 TCP 还是 UDP。

如果是 TCP,那么答案可能很简单:尝试在该端口打开与服务器的 TCP 连接。如果连接打开,则断开连接并报告成功。否则,失败。这是简单化的观点。如果服务器前面有负载均衡器或防火墙,则可能 TCP 连接可能打开,但后端服务器已关闭。

UDP 会更难。除非它向您发送某种响应,否则无法知道您何时发送 UDP 数据服务器获得了数据。如果 UDP 服务器关闭并且您向端口发送了一条消息,您的计算机可能可能收到一条 ICMP 错误消息。那肯定会让您知道服务器已关闭。但防火墙可能会阻止此消息返回您的设备,因此这可能不可靠。

否则,您需要向服务器发送格式正确的消息以获得某种响应。这取决于协议,但最可靠。

传统的“ping”消息是 ICMP 回显查询和响应消息。因此,没有与 ICMP 关联的“端口”。

【讨论】:

  • 您知道是否可以使用 iOS SDK 而不是仅进行连接检查,通过 TCP Ping 获取相同的单个数据包详细信息?
猜你喜欢
  • 1970-01-01
  • 2021-06-24
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多