小半年前,和做IM的同事討論web IM的ajax實現的時候曾經提起過這樣一種做法:維持一個http長連接來等待后臺的聊天數據,當聊天數據一到就立刻把數據發送進這個http連接里面并斷開連接讓xmlhttp開始解析,這樣就可以做到客戶端對數據的即時響應。這一就是“推模型”的ajax版本。
其實當時我們也懷疑meebo等web IM有可能已經采用了類似的技術,但是未經確認。由于考慮到IM部門有可能需要把這個技術申請專利加以保護,因此很長的一段時間里面不管是論壇上還是blog上我都沒有提及過這個想法。
今天偶然在網上發現了一個叫做comet的技術(http://alex.dojotoolkit.org/?p=545),和我們的想法如出一轍,現在已經至少被應用在:
消息遲鈍到如此地步,汗顏中。
奇怪的是,似乎comet技術不需要斷開http連接,不知道是如何讓xmlhttp控件開始解析數據的(如果不用xmlhttp技術的話,那不就成了傳統的“推模型”了嗎?)。