iOS上的“无主机路由”错误

s71maibg  于 2023-01-14  发布在  iOS
关注(0)|答案(2)|浏览(256)

我使用GCDAsyncUdpSocket发送udp消息以发现ssdp服务,在iOS中报告了**“No route to host”**此错误,但在服务中无法找到上述模拟器中的任何问题,是这样发生的吗?我搜索了大量信息,但没有发现可以帮助我。

2wnc66cl

2wnc66cl1#

我遇到过同样的问题。当然,没有你的源代码,我们只能提供模糊的猜测。我希望你现在已经解决了这个问题,如果你回忆起实际问题是什么,请让我们知道。
需要检查的事项:
1.主机上的防火墙设置。我试着在我的mac book上接收消息,发现防火墙设置可以阻止你选择的端口。防火墙在第三十三个标签上的系统首选项下。
1.使用苹果的可达性类来确保你已经有了一个活跃的WIFI/手机连接到互联网。 )https://developer.apple.com/library/ios/samplecode/Reachability/Listings/Reachability_Reachability_h.html#//apple_ref/doc/uid/DTS40007324-Reachability_Reachability_h-DontLinkElementID_7 )
1.您还可以使用Reachability类中的其他函数,让您知道主机是否可以访问,甚至不必费心打开套接字。
1.如果主机是你的mac,而模拟器是在mac上,实际的网络流量并不多,当你在手机上运行时,你实际上是在使用真正的网络。注意,根据你的网络情况,你可能需要你主机的外部IP地址(相对于内部网络WIFI地址,例如www.example.com) 192.168.1.4 )
1.有些人报告了一个错误,UDP停止工作,你没有路由到主机消息,但由于某种原因打开和关闭飞行模式修复它。也许检查他们的解决方案(使用保持活跃消息每30秒左右,以防止电源管理关闭细胞连接)。下面是一个例子:intermittent "No Route to Host" on iOS, flight mode off then on fixes

t3psigkw

t3psigkw2#

如果您正在开发iOS应用程序的App Clip,请注意:

a) Background Session is not supported
b) Multipath is not supported. Setting `multipathServiceType = .handover` on `URLSessionConfiguration` will cause all requests failure due to `No route to host`

相关问题