WebSocket始終保持連接的辦法


在項目中,后台為了其實把處理結果主動推送個前端,因此使用了WebSocket。

但是問題來了,頁面每跳轉一次,socket都要重新關閉建立連接。這個資源消耗是很大的,而且線上環境隨着並發量的增加會報錯因此影響性能。

那么如何保持socket的長連接了,用iframe就行了。

如下新增一個模板頁面,把原來的首頁地址給他,其他都不變。

<iframe id="aframe" name="aframe" src="${contextPath}/project/shop/index" frameborder="0"  marginheight="0" marginwidth="0" width="100%" height="100%"></iframe>

這樣頁面每次跳轉都有一個父級頁面,把 socket 的 js 文件在這個頁面引入就可以了。同時子頁面的跳轉地址在瀏覽器地址欄不顯示。

當然你得考慮使用iframe帶來的樣式問題,反向代理默認的60S連接超時問題。否則60S內沒有消息推送,這個連接照樣會斷開。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM