今天用 B 站看直播的时候遇到了这个问题,系统 macOS Monterey ,Safari 版本 15.1 ,B 站直播的弹幕加载不出来,检查网页发现主要是由于 WebSocket 报错引起,“WebSocket connection to 'wss://tx-bj-live-comet-06.chat.bilibili.com/sub' failed: The operation couldn’t be completed. (kNWErrorDomainPOSIX error 57 - Socket is not connected)”。此时 ClashX 设为系统代理,无论是直连模式、规则模式还是全局模式,都会发生这个错误,但只要退出 ClashX 或关闭系统代理后问题即消失。此问题只在 Safari 中出现,Chrome 和 Edge 则没有这个问题。这是 Safari 15 引入的新 Bug 吗?
1
jmllx1963 2021-10-29 16:54:54 +08:00 13
Monterey 的 Safari 开启了 NSURLSession WebSocket 这个实验性特性,会导致 WebSocket 在 HTTPS 代理下无法工作,在开发者菜单中关掉之后一切正常。
|
2
NanonaN OP 经过搜索后发现在 Safari 里的开发->试验性功能->NSURLSession WebSocket 取消勾选后问题消失,打扰了
|
4
ab 2021-10-30 06:34:47 +08:00 via iPhone
谢谢
|
5
LoneFireBlossom 2021-10-30 07:51:49 +08:00
Catalina 的 Safari 15.1 试验性功能里竟然没有这个选项……
|
6
outtime 2021-11-29 21:05:41 +08:00
感谢,刚遇到这个问题,我对着 ws 实现部分琢磨半天。。。
|
7
kenshin912 2021-12-01 10:16:53 +08:00
感谢 , 同样在 Monterey 中的 Safari 里遇到了这个问题 , 关闭 NSURLSession WebSocket 后正常工作了.
|
9
blanu 2022-02-23 12:33:33 +08:00
相关 bug (不是 WebKit 的 bug ,是系统底层框架 NSURLSession 的): https://bugs.webkit.org/show_bug.cgi?id=228296
我要骂一句,傻逼苹果,这么恶劣的 bug 好意思发出来。 |
10
blanu 2022-03-30 19:37:01 +08:00
iOS 15.4 、macOS 12.3 依然没修好,应该和上面我给出的 bug 无关,是 NSURLSession 的另一个 bug 。
|
12
neiltroyer849 2022-05-07 19:26:10 +08:00
2022 都快到年中了 Safari 还是没有支持已经成为浏览器普遍标准 ES2018 的 RegExp lookbehind assertions ( 2017 年出来的东西到现在一些网页表格都看不了);到现在看 twich 导致的 GB 级内存泄漏也没修好,NSURLSession 不管不问就直接放在了新 safari 里当默认选项。确实已经无语到极点了
|
13
hb751968840 2022-07-15 15:57:56 +08:00
@jmllx1963 感谢。
|
15
forgetandnew 299 天前
依然存在,2024 年
|
16
iamqk 197 天前
@forgetandnew 有解决方法吗?它们提到的选项在新版 safari 已经不存在了
|
17
iamqk 197 天前
@forgetandnew 我的问题是直播的时候 弹幕不更新,我把缓存删除 然后在设置 阅读器及自动播放 的 b 站相关都打开就正常了
|
18
loy6491 191 天前
没想会在这里搜到解决方案哈哈
|