Có cách nào để mở một websocket trên một trang và sau đó tái sử dụng nó trên một trang khác (trong cùng một tab, sau khi người dùng nhấp vào một liên kết, ví dụ) thay vì phải mở một websocket mới sau mỗi lần tải trang? Bộ nhớ trình duyệt có thể giữ một ổ cắm mở không?Sử dụng lại các ổ cắm web giữa các trang?
Mục đích là để có thể giữ một websocket cho mỗi người dùng (hoặc tab) và nó sẽ là tuyệt vời để làm điều này mà không cần phải di chuyển giữa các trang một cách phi truyền thống, ví dụ tải nội dung vào một div bằng cách sử dụng Javascrpt mỗi lần người dùng tương tác với trang.
Khi kết nối websocket được tạo, một số trạng thái tồn tại mà cả hai bên của kết nối phải theo dõi kết nối tồn tại. Tôi nghĩ rằng nếu bạn lưu trữ trạng thái phía máy khách của một kết nối trong bộ lưu trữ cục bộ (lưu ý rằng phía máy khách của hệ thống websocket phải được sửa đổi để cho phép hầu hết hoặc thậm chí tất cả các máy khách web không hỗ trợ điều này theo như tôi biết), bạn có thể mở lại kết nối sau này hoặc thậm chí trên một trang khác (miễn là máy chủ không giảm một nửa trạng thái của nó). Vì vậy, nó phải có thể nhưng làm thế nào? Tôi muốn xem một mẫu làm việc. –
Tôi tưởng tượng rằng để "tái tạo" các websocket như vậy máy chủ sẽ phải hỗ trợ nó là tốt. Hoặc đặc biệt hơn là thư viện được sử dụng để thực hiện hỗ trợ websocket trên máy chủ. Tôi nghi ngờ hầu hết các triển khai trên máy chủ sẽ làm đảo lộn websocket khi nó phát hiện kết nối TCP cơ bản đã bị đóng - mặc dù các thay đổi cho máy khách mà bạn đề nghị _could_ giữ nó mở. –
Yup, ** kết nối websocket không tồn tại trực tiếp kết nối tcp được tạo dưới dạng transport **, tốt, tôi nghĩ chúng thông minh hơn. –