Unable to open too many DevTools pages due to browser per-host connection limit being exhausted by SSE connections
- 主要语言
- Dart
- 星标
- 1.7k
- 派生
- 404
- 平均合并
- 6 天 17 小时
- 30 天内合并 PR
- 18
描述
Moving this from https://github.com/Dart-Code/Dart-Code/issues/5229.
If you run DevTools and open ~5 tabs for it, you'll find you can't open any more. This appears to be because the SSE connections are tying up the maximum number of connections Chrome allows to a single host.
From my testing of opening many https://echo.websocket.org/.ws pages, I _think_ WebSockets are not counted towards this limit, so the solution may be to migrate the SSE connections to WebSockets. However, I don't know if there may be internal issues with WebSockets that led to SSE being used initially (@kenzieschmoll do you know? there's currently a mix of WS + SSE, so I presume WS must work everywhere now?).
Another option may be to use HTTP2 (so requests can share connections), but it's not clear to me if Dart has a HTTP2 server (I found https://github.com/dart-lang/http2 but it doesn't look like a complete solution?).
贡献指南
调研方向
首先使用大约五个 DevTools 标签页重现该问题,并检查现有的 SSE 和 WebSocket 连接是如何建立的。确定连接方式是否可以避开 Chrome 的每主机限制;当打开其他 DevTools 页面不再因为主机连接限制已耗尽而失败时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- dart
- 领域
- devtools, networking
- Issue 类型
- 缺陷
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100