1. 程式人生 > >推拉模式與觀察者模式(未完待續)

推拉模式與觀察者模式(未完待續)

推拉模式與觀察者模式

推(push)模式是一種基於客戶器/伺服器機制、由伺服器主動將資訊送到客戶器的技術。在push模式應用中,伺服器把資訊送給客戶器之前,並沒有明顯的客戶請求。push事務由伺服器發起。push模式可以讓資訊主動、快速地尋找使用者/客戶器,資訊的主動性和實時性比較好。但精確性較差,可能推送的資訊並不一定滿足客戶的需求。推送模式不能保證能把資訊送到客戶器,因為推模式採用了廣播機制,如果客戶器正好聯網並且和伺服器在同一個頻道上,推送模式才是有效的。push模式無法跟蹤狀態,採用了開環控制模式,沒有使用者反饋資訊。在實際應用中,由客戶器向伺服器傳送一個申請,並把自己的地址(如IP、port)告知伺服器,然後伺服器就源源不斷地把資訊推送到指定地址。在多媒體資訊廣播中也採用了推模式。另外,如手機***、qq廣播。

拉(pull)模式與推模式相反,是由客戶器主動發起的事務。伺服器把自己所擁有的資訊放在指定地址(如IP、port),客戶器向指定地址傳送請求,把自己需要的資源“拉”回來。不僅可以準確獲取自己需要的資源,還可以及時把客戶端的狀態反饋給伺服器。

簡單來說:
推模式(Push):是一種基於客戶器/伺服器機制,由伺服器主動將資訊傳送到客戶器的技術。
拉模式(Pull)與推模式(Push)恰好相反,是由客戶器主動向伺服器傳送請求的技術。



參考:
http://leign.iteye.com/blog/613508
http://blog.csdn.net/flyingpig4/article/details/5905395
http://www.cnblogs.com/rush/archive/2011/11/30/2269738.html (.net的程式碼)