<a href="http://www.cnblogs.com/zengqinglei/archive/2013/03/31/2991189.html" target="_blank">http://www.cnblogs.com/zengqinglei/archive/2013/03/31/2991189.html</a>
Comet 也稱反向 Ajax 或伺服器端推技術.其思想很簡單:将資料直接從伺服器推到浏覽器,而不必等到浏覽器請求資料。
主要思想:伺服器端将資料推送到用戶端(浏覽器)
系統簡單說明如下:
{
系統所用資料庫:sqlite資料庫
UserInfo:使用者資訊表
UserRelation:使用者關系表
MessageInfo:聊天資訊表
開發結構:
結構圖:

三層開發:
資料層--與sqlite資料庫之間的互動
邏輯層--資料轉換
實體層--資料對象
Web服務:利用WebService對外提供公共的接口,主要提供用戶端與伺服器端資料之間的互動。
用戶端(asp.net):利用comet中ajax反向技術推送聊天資訊。
項目操作示範效果:
1.使用者登入(測試賬戶{liger_zql,12345},{漠然,12345})
說明:用浏覽器開啟兩個頁籤浏覽Login.aspx頁面分别如下
2.聊天界面
登入成功後,兩頁籤分别跳轉到如下界面:輕按兩下線上好友中的行,則可開始進行聊天。
liger_zql聊天界面:
漠然聊天界面:
其中聊天過程是使用了comet推送技術。
3.使用者注冊界面
}
項目中comet推送技術
用戶端
伺服器端:
其中(項目網站--WebChat_ServerPush和伺服器端處理--ServerPushHttpHandler)需要在Web.config配置檔案中做出如下配置:
Comet是一個web應用模型,在該模型中,請求被發送到伺服器端并保持一個很長的存活期,直到逾時或是有伺服器端事件發生。在該請求完成後,另一個長生存期的Ajax請求就被送去等待另一個伺服器端事件。使用Comet的話,web伺服器就可以在無需顯式請求的情況下向用戶端發送資料。
Comet的一大優點是,每個用戶端始終都有一個向伺服器端打開的通信鍊路。伺服器端可以通過在事件到來時立即送出(完成)響應來把事件推給用戶端,或者它甚至可以累積再連續發送。因為請求長時間保持打開的狀态,故伺服器端需要特别的功能來處理所有的這些長生存期請求。
最後預祝有需要了解該技術的程式猿天天向上!!!(~ o ~)~zZ