apple watch上watchOS网络低级别和高级别区别,以及使用tcp/udp或者websocket的限制条件

可以直接看官方文档:TN3135: Low-level networking on watchOS | Apple Developer Documentation

高级网络:包括 URLSession 中的 HTTP 和 HTTPS 支持,以及在此之上的任何代码层。

低层网络:包括网络框架、 NSStream 和任何其他直接运行 TCP 连接或 UDP 会话的 API。这包括 URLSession 的底层方面,例如URLSessionStreamTask 和 URLSessionWebSocketTask。它还包括直接与 Bonjour 交互的 API,如 NWBrowser 和 NSNetService。

Watch OS 允许所有应用程序平等地使用高级网络。然而,它只允许应用程序在特定情况下使用低级别的网络

1.它允许一个音频流应用程序使用低级网络,同时激活了streaming audio。在 watch OS 6中引入了对此的支持。

2.它允许 VoIP 应用程序在运行 CallKit 呼叫时使用低级网络。在 watch OS 9中添加了对此的支持。

3.它允许 watch OS 上的应用程序设置应用程序服务监听器,这样 tvOS 上的同一个应用程序就可以使用 DeviceDisCoveryUI 框架建立到它的低级连接。在 watch OS 9和 tvOS 16中添加了对此的支持。

也就是说,只能在激活了streaming audio或者使用CallKit或者使用DeviceDisCoveryUI框架的时候才可以使用低级网络。

那它官网标注的这个支持watchos确实没毛病,但是......一言难尽,不让用就不让用呗

Watch OS 在这些特定情况之外阻止低级网络。例如,如果一个普通应用程序试图启动 NWConnection,该连接将保留在。Wait (_:)状态,错误为 ENETDOWN。类似地,NWPathMonitor 将保留在。不满意的状态。

相关推荐
持续升级打怪中22 分钟前
WebSocket:从“写信”到“打电话”的实时通信革命
网络·websocket·网络协议
阿巴~阿巴~35 分钟前
从IP到MAC,从内网到公网:解密局域网通信与互联网连接的完整路径
服务器·网络·网络协议·架构·智能路由器·tcp·arp
菜的不敢吱声6 小时前
swift学习第4天
服务器·学习·swift
懒人村杂货铺10 小时前
✅ WebSocket 接口从本地开发到生产部署的关键步骤与常见问题
websocket
liwulin050613 小时前
【JAVA】创建一个不需要依赖的websocket服务器接收音频文件
java·服务器·websocket
阿巴~阿巴~17 小时前
“可达”方能“可靠”:深入解析网络层在TCP通信中的基石作用
运维·服务器·网络·网络协议·tcp/ip·ip·tcp
meichao919 小时前
springboot3.5.8集成websocket问题
网络·spring boot·websocket·网络协议
西柚补习生1 天前
ESP8266远端固定UDP传输
网络·网络协议·udp
此颜差矣。1 天前
封装 WebRTC 低延迟视频流与 WebSocket 实时状态驱动的大屏可视化
websocket·webrtc·低延迟视频流