flutter / flutter/devtools

Unable to open too many DevTools pages due to browser per-host connection limit being exhausted by SSE connections

未关闭
#8,298 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
ide-integration P1
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。