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 将保留在。不满意的状态。

相关推荐
青春给了代码3 小时前
基于WebSocket实现在线语音(实时+保存)+文字双向传输完整实现
网络·websocket·网络协议
我爱加班、、7 小时前
Websocket能携带token过去后端吗
前端·后端·websocket
“负拾捌”8 小时前
python + uniapp 结合腾讯云实现实时语音识别功能(WebSocket)
python·websocket·微信小程序·uni-app·大模型·腾讯云·语音识别
wenzhangli717 小时前
OoderAgent SDK(0.6.6) UDP通讯与协议测试深度解析
网络·网络协议·udp
Trouvaille ~21 小时前
【Linux】UDP Socket编程实战(一):Echo Server从零到一
linux·运维·服务器·网络·c++·websocket·udp
lang201509281 天前
Java WebSocket API:JSR-356详解
java·python·websocket
郝亚军1 天前
ubuntu启一个udp server,由一个client访问
linux·ubuntu·udp
Trouvaille ~1 天前
【Linux】UDP Socket编程实战(二):网络字典与回调设计
linux·运维·服务器·网络·c++·udp·操作系统
键盘帽子1 天前
长连接中异步任务的同步等待陷阱:一次主线程阻塞的排查与修复
java·websocket·java-ee·web
郝学胜-神的一滴1 天前
Linux网络编程中的connect函数:深入探索网络连接的基石
linux·服务器·网络·c++·websocket·程序人生