flutter / flutter/devtools

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

Đang mở
#8,298 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
ide-integration P1
Ngôn ngữ chính
Dart
Star
1.7k
Fork
404
Merge trung bình
6 ngày 17 giờ
Pull request đã merge (30 ngày)
18

Mô tả

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?).

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện vấn đề với khoảng năm tab DevTools và kiểm tra cách các kết nối SSE và WebSocket hiện có được thiết lập. Xác định liệu cách tiếp cận kết nối có thể tránh giới hạn trên mỗi host của Chrome hay không; được xem là hoàn tất khi việc mở thêm các trang DevTools không còn thất bại vì đã hết giới hạn kết nối của host.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
dart
Lĩnh vực
devtools, networking
Loại issue
Lỗi
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.