關於伺服器推送

2021-08-25 00:06:48 字數 662 閱讀 2335

關於伺服器推送

前一階段一直在做伺服器推送的技術調研,公司本來希望能夠使用web server做乙個訊息伺服器,使用http協議實現伺服器到客戶端的實時訊息推送。做了一些技術調研成果暫記如下:

1, 使用場景:

可行開發的客戶端軟體,與伺服器使用http協議互動資訊。使用者開機後,與伺服器建立http連線,伺服器判斷是否有針對該使用者的訊息:公升級資訊、通知資訊等。

2, 兩條可行的技術路線:

a) 使用長輪詢。客戶端動作如下:開機---建立http請求---伺服器判斷,如果由訊息則返回本次http響應---重新建立http請求。

b) 使用多次response應答。客戶端與伺服器建立連線後,如果有針對某個客戶端的訊息,則伺服器將訊息寫到緩衝區,並清空緩衝區,這樣客戶端就可以實時得到應答。

3, 兩種技術路線優缺點對比:

a) 方式1,優點,整體方案實現簡單,客戶端實現簡單。缺點:實時性差,對伺服器的效能要求很高。

b) 方式2,優點:對伺服器的效能要求相對較少,沒想出來。缺點:複雜,不穩定。

4, 可行的方案:採用tomcat6.0的nio形式實現方式1,使用一台普通pc機做壓力測試,可以同時支援5000臺終端同時訪問。但是tomcat6.0存在不穩定的現象,當終端數量持續增加時,會發生當機現象。

6, 體會:是時候開始研究grizzly了。

天氣推送伺服器

1 主要功能 使用者通過天氣推送伺服器暴露出來的介面進行註冊,註冊完畢之後使用者可以新增一些自己的親朋好友的資訊。每天定時爬取全國的天氣,然後推送給使用者的親朋好友。2 伺服器 伺服器使用的是乙個協程版本的web伺服器,支援get和post方法,底層用cgi方法處理帶引數的請求。伺服器對外暴露兩個介...

伺服器訊息推送

客戶端定時向伺服器傳送ajax請求,伺服器接到請求後馬上返回響應資訊並關閉連線 優點 後端程式編寫比較容易 缺點 求中有大半是無用,浪費頻寬和伺服器資源 客戶端向伺服器傳送ajax請求,伺服器接到請求後hold住連線,直到有新訊息才返回響應資訊並關閉連線,客戶端處理完響應資訊後再向伺服器傳送新的請求...

伺服器主動推送

1.客戶端輪詢 ajax定時拉取 2.服務端主動推送 websocket 全雙工的,本質是乙個額外的tcp連線,建立和關閉時握手使用的http協議,其他資料傳輸不使用 http協議更加複雜一些,適用於需要進行複雜雙向資料通訊的場景 3.服務端主動推送 sse server send event ht...