You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET7 Maui iOS仅出现SocketException(65): No route to host问题排查

问题分析:MAUI iOS局域网通信抛出SocketException (65)

问题背景

基于.NET 7开发的MAUI应用,在Android设备上可通过以下代码正常与局域网服务器(IP:192.168.3.10)通信:

TcpClient client = new TcpClient();
await client.ConnectAsync(IPAddress.Parse("192.168.3.10"), 12345);

或

Ping ping = new Ping();
await ping.SendPingAsync(IPAddress.Parse("192.168.3.10"));

但在iOS 16.3.1的iPhone 13 mini上执行时,抛出SocketException (65): No route to host异常。设备与服务器处于同一局域网,且通过系统工具(Fing)可正常Ping通服务器,Info.plist已配置:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsLocalNetworking</key>
    <true/>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

部分iPhone设备无此问题,相关反馈显示可能与iOS 16相关。

可能的原因

  • iOS 16本地网络权限触发异常:iOS 16对本地网络访问的权限校验更严格,MAUI的TcpClient/Ping底层API可能未正确触发系统的本地网络权限请求弹窗,导致应用实际未获得局域网访问权限。即使Info.plist配置了NSAllowsLocalNetworking,若用户未明确授予权限,应用仍无法访问本地网络。
  • .NET MAUI iOS网络API适配问题:iOS 16环境下,.NET跨平台网络类(如TcpClient、Ping)的底层实现与iOS的CFNetwork框架存在兼容性问题,特定设备/版本下会出现路由解析失败,导致"No route to host"错误。
  • iPhone Wi-Fi私有地址干扰:iPhone开启Wi-Fi“私有地址”功能后,会随机化局域网内的设备IP,可能导致路由表解析异常。关闭该功能后可验证是否解决问题。
  • 应用网络权限未完全授予:检查iPhone设置中该MAUI应用的网络权限,确认“Wi-Fi”和“蜂窝网络”权限均已开启,避免系统拦截应用的网络请求。

内容的提问来源于stack exchange,提问作者Csaba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:32:09