即時通訊與瀏覽器多TAB通訊

2021-09-21 23:23:37 字數 1217 閱讀 3730

摘要

tag

即時通訊,多tab通訊

內容

關鍵技術

訊息推送:通過基於web server的長連線技術實現

前端多tab資料互動:借助flash的local connection和shareobject技術實現

client-server互動模型

分層設計

1.多tab中始終維持乙個特立獨行的tab

2.多tab間互相通訊:支援廣播、組播、單播

3.跨瀏覽器資料儲存

4.跨域傳送http請求

利用flash的localconnection的唯一性保證客戶端多個瀏覽器多個tab之間,有且只有乙個頁面與服務端互動,稱之為server tab。

只有server tab會與lightthy通訊

當server tab接收到lightthy的訊息後,從本地儲存sharedobject中獲取其他tab的id,然後通過localconnection傳遞給他們。

問題:

解決方案:

問題:

解決方案:

問題:

為了減少服務端壓力,設計的初衷就是前端要在多個瀏覽器視窗中挑出乙個獨特的視窗來發起listen。server tab的概念保證了前端能生成乙個唯一的獨特視窗,用於發起listen。實現原理是利用localconnection的connect name唯一性,並用輪詢connect來保證只要原來發起listen的視窗一旦斷掉,即能自動重新挑選乙個視窗來作為server tab,並發起listen。但是我們仍然遇到了外殼瀏覽器下面一些詭異的問題,視窗被快取成假死狀態。導致這個機制不能很好的執行下去。

解決方案:

下面是乙個視窗開啟後,在本地註冊的流程

【本文首發於:

搜尋研發部官方部落格】

即時通訊架構剖析與實現

架構師的技術棧圖如下 需要知道知識面 集群監控 zabbix f5是乙個物理機,軟體 硬體的方式來負責ip包的 專業工作來做商業模式 如上架構支撐1000w沒有問題 缺點 1 效能瓶頸 lvs或者f5都是有效能上限的,超過這個效能上限怎麼辦?比如facebook taobao tencent等等,他...

瀏覽器視窗間通訊

瀏覽器多個標籤頁視窗間通訊,主要是指的同源的多個頁面間的通訊,主要方法有本地儲存通訊 web worker通訊 web socket通訊。通過瀏覽器對於同源頁面本地儲存是共享的策略實現通訊,主要可以使用localstorage cookie indexdb,注意對於sessionstroage是在同...

伺服器端與瀏覽器端通訊

1 伺服器端傳遞引數到自定義標籤 chart data stat emp name second xcategory dept id ycategories request.getattribute ycategories tostring 2 伺服器端傳遞引數到html標籤 align right...