簡體   English   中英

如何在客戶端瀏覽器中中止“新 WebSocket”

[英]How to abort a “new WebSocket” in a client browser

如果服務器拒絕打開 websocket,Javascript new Websocket(socketUrl)可能會永遠運行,並且根據設計,周圍的腳本不會獲得有關服務器拒絕打開它的原因的信息。 我已經看到客戶端瀏覽器每隔幾秒鍾發送 websocket 請求超過 10 周(我想一個標簽一直處於打開狀態並且一直未使用)。

我已經對周圍的客戶端腳本進行了更改,當 websocket 請求變得無用時,它檢測(通過正常的 http 請求),然后關閉套接字。 從此時起,重新加載其 javascript 文件的客戶端將不再引起問題。

但是,我想知道是否有一種方法可以明確地處理那些從不重新加載的客戶端中被遺忘的選項卡,或者我唯一能做的就是通過阻止負載均衡器中的多余請求(haproxy )。

假設您的 websocket object 被命名為websocket_obj 喜歡:

websocket_obj = new Websocket(url); // url You know it

然后,當您收到錯誤時,您可以關閉套接字。 所以,

websocket_obj.onerror = function(){
    Websocket.close();
}

這是mdn_refs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM