SuperAPI AI 工具集

axiom-networking-legacy

通用与其它

查看项目

更新于 10-15 20:11

技能介绍

用途:本技能面向需要兼容 iOS 12-25、暂无法使用 async/await 的项目,整理 NWConnection(基于完成回调)的网络编程模式,覆盖 TCP/TLS 连接、UDP 批量发送、服务端监听与局域网服务发现。

主要能力:1) NWConnection + TLS,通过 stateUpdateHandler 处理 ready/waiting/failed/cancelled 状态,使用 send/receive 完成回调收发数据,并按 contentProcessed 回调做发送节奏控制;2) UDP 批量发送,用 connection.batch 将多包合并,官方称相较逐个发送可降低约 30% CPU;3) NWListener 监听端口、通过 Bonjour 广播服务并处理新连接;4) NWBrowser 发现局域网 _service._tcp 服务,避免硬编码 IP。

使用方式:创建 NWConnection 指定 host、port 与 .tls/.udp,设置 stateUpdateHandler 后调用 start(queue:),通过 send(content:completion:) 与 receive(minimumIncompleteLength:maximumLength:) 收发;监听侧用 try NWListener(using:on:),设置 service、newConnectionHandler 与 stateUpdateHandler 后 start;发现侧用 NWBrowser(for:using:),监听 browseResultsChangedHandler。完成回调中需使用 [weak self] 避免循环引用。

适用场景:支持 iOS 12-15 的存量代码、尚未采用 async/await 的工程、需要向后兼容的库、实时音视频与游戏 UDP 传输、点对点应用、局域网服务与开发测试服务器。

限制:仅适用于 iOS 12-25;iOS 26+ 应改用 NetworkConnection/NetworkBrowser 与 async/await(见相关技能)。监听端建议启用 TLS、校验客户端连接并设置连接上限以防 DoS。文中未提供具体安装命令、定价或平台支持等其它信息。