1

在我们的应用程序中,我们依赖于 WKWebview 中的 Web 套接字。在以前的版本中,此 Web 套接字运行良好。在 iOS 15 测试版中,尽管此 Web 套接字的行为有所不同:它成功连接到我们的服务器,但是一旦客户端尝试通过它发送任何数据,Web 套接字就会抛出错误并以非描述性错误关闭:

操作无法完成。(kNWErrorDomainPOSIX 错误 54 - 对等方重置连接)

查看系统日志,我能发现的最深的错误是:

nw_protocol_boringssl_error(1772) [C12.1.1:2][0x102e0d540] TLS 握手后的较低协议堆栈错误。[54:]

到另一台服务器的测试网络套接字似乎正在工作。我还注意到,像 Charles 这样的 MitM 代理在 iOS 15 测试版中不再显示 Web 套接字连接。这只是表明某些事情可能已经改变。因为通过这个套接字的通信对于我们应用程序的功能非常重要,所以我必须知道问题是什么。我尝试为套接字的 URL 添加 ATS 异常无济于事。

也许这是 iOS 15 中的一个临时错误,将在其发布之前修复?或者也许有人在过去经历过这种错误?

4

1 回答 1

0

似乎该问题与 IOS 15 上的 websocket 压缩有关(permessage deflate)。在服务器端禁用 ios 15 设备的压缩有帮助。

这显然不是一个解决方案,而只是一个快速修复(如果您可以访问服务器)。这是关于同一主题的讨论。

于 2021-09-24T09:05:32.187 回答