pushlet 學習記錄

2021-08-25 21:04:51 字數 512 閱讀 3008

前兩天看了下pushlet2.0.4,總結了它的大概思路:

客戶端主要使用ajax每隔100ms通過get方式傳送請求,請求入口為pushletservlet,在這主要是使用單例模式初始化了sessionmanager(session管理器),這個session是它自己定義的實體類,生命週期通過timer來控制,另外還初始化了dispatch類,如果請求型別為join,則會給當前會話初始化乙個session,然後進入到了controller類,在controller類的docommand方法裡判斷請求型別做相應處理,如果型別為publish,通過dispatcher.getinstance().multicast(acommand.reqevent);廣播到所有session,這裡用到了觀察者模式,sessionmanager來管理所有的session,如果有新訊息,則通過迴圈sessioncache這個物件來通知到所有監聽的session。

pushlet最大的問題就是不能集群,對於小型專案還能適應,中大型專案估計就不行了, 不知道官方是怎麼解決這個問題,期待。。。

pushlet基本流程

客戶端長輪詢 pull,poll stream,在subscriber.fetchevents 流程 pushlet.dorequest 1.建立會話 2.controller.docommand 根據客戶端的命令進行命令分發 啟動或停止subscriber,設定返回的命令等,若是publish事件...

Pushlet 學習 一 相關資料蒐集

這兩天突然對伺服器推送技術產生了濃厚的興趣,經過這兩天的google baidu蒐集到一些資訊,對伺服器推送技術有了一定的了解。1.了解什麼是pushlet,以及他所用到的技術 thinki in pushlet pushlet 的中文版,文中的時序圖貼反了,英文版可參照 中的 white 2.什麼...

個人對pushlet框架使用感悟

這段時間學校沒什麼事情,公司的專案也暫時告一段落,於是對web qq很感興趣,上網搜尋了下comet框架,發現pushlet比較好,於是開始著手研究pushlet框架,一開始,只會用它的sources.properties裡面定義好的事件管理器來處理我的事件,後來發現這樣不行啊,比如說聊天室的乙個使...