ios - 在iOS 10更新后Ping导致“主机已关闭”(但不是!)错误

标签 ios iphone networking

我有一个iOS应用程序,它是一个简单的客户端或“远程”应用程序,当用户按下应用程序中的按钮时,该应用程序会将一些字节发送到硬件设备。硬件设备是带有WiFly shield RN171的Arduino。该设备广播一个AdHoc WiFi网络。连接到AdHoc网络后,iPhone将在169.254.0.0/16子网中具有IP地址。硬件设备的IP地址为169.254.1.1。

由于更新到iOS 10,因此应用程序无法连接到硬件设备,并收到错误“主机已关闭”。作为故障排除的一种方法,我从App Store安装了通用的网络Ping工具,该工具会产生相同的错误:当我尝试从iPhone ping硬件设备169.254.1.1时,“主机已关闭”。

但是,我可以从硬件设备ping iPhone。

这是在我的仍在运行iOS 9的“开发电话”中的非问题。该应用程序很高兴地连接到硬件设备,并且相同的“网络Ping”工具可以对硬件设备进行ping操作。

我想知道iOS 10中的联网工具集是否有任何更改可能导致了此问题?我找不到任何可以这么说的资源,也不确定如何解决此问题...

最佳答案

正如我在对其中一个答案的评论中提到的那样,我们被迫将设备切换为在非保留子网(例如192.168.10.0)上运行,因为最新的iOS更新直接阻止了设备在链接上建立连接-本地子网(即169.254.0.0/16)。即使在启用“NSAllowsLocalNetworking”和“NSAllowsArbitraryLoads”并将链接本地子网添加到“NSExceptionDomains”之后,尝试将iPhone连接到链接本地子网上的设备仍未成功。

关于ios - 在iOS 10更新后Ping导致“主机已关闭”(但不是!)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39728990/

相关文章:

networking - 如何在多人游戏关卡中处理众多玩家?

ios - 保存、更新或对 iCloud 的任何操作不适用于临时或应用商店配置文件

ios - 如何将检索到的数据存储到 Parse 中的另一个类

iphone - viewWithTag 并检索层次结构深处的 View

ios - 从 "bouncing"垂直停止 UIWebView?

sql-server - 从 tiny_tds 连接到 SQL Server 需要哪些端口?

objective-c - 带有部分的 iOS GridView

iphone - 从 appdelegate 调用 viewcontroller 中的函数

iphone - UIScroll View Delegate 不调用 ScrollViewDidEndScrollingAnimation

http - 从 Windows Powershell 发送 HTTP 请求的最佳方式是什么?