現(xiàn)在很多網(wǎng)站為了提高用戶體驗(yàn),會(huì)給網(wǎng)站加通訊功能,尤其是電商網(wǎng)站,基本每個(gè)網(wǎng)站都有添加客服的咨詢功能,這樣就能更方便的滿足用戶的需求,解答用戶的疑問,這里就為大家介紹一下網(wǎng)站即時(shí)通訊功能的實(shí)現(xiàn)方法及架構(gòu)。
現(xiàn)在很多網(wǎng)站為了提高用戶體驗(yàn),會(huì)給網(wǎng)站加通訊功能,尤其是電商網(wǎng)站,基本每個(gè)網(wǎng)站都有添加客服的咨詢功能,這樣就能更方便的滿足用戶的需求,解答用戶的疑問,這里就為大家介紹一下網(wǎng)站即時(shí)通訊功能的實(shí)現(xiàn)方法及架構(gòu)。
(1)基于ajax技術(shù)的實(shí)現(xiàn)。
ajax(異步JavaScript和XML,Asynchronous javascript and xml),它的作用就是可以實(shí)現(xiàn)頁(yè)面與服務(wù)器端的無(wú)刷新交互。用ajax來(lái)實(shí)現(xiàn)web聊天室的基本原理是:在頁(yè)面上每隔一段時(shí)間就通過ajax從服務(wù)器中 獲取數(shù)據(jù),然后更新頁(yè)面顯示。這種方法簡(jiǎn)單明了,缺點(diǎn)是實(shí)時(shí)性不高。
(2) 基于Comet技術(shù)的實(shí)現(xiàn)。
Comet 是一種新的 Web 應(yīng)用架構(gòu)?;谶@種架構(gòu)開發(fā)的應(yīng)用中,服務(wù)器端會(huì)主動(dòng)以異步的方式向客戶端程序推送數(shù)據(jù),而不需要客戶端顯式的發(fā)出請(qǐng)求。Comet 架構(gòu)非常適合事件驅(qū)動(dòng)的 Web 應(yīng)用,以及對(duì)交互性和實(shí)時(shí)性要求較高的應(yīng)用,如股票交易行情分析、聊天室和 Web 版在線游戲等。
Pushlet是一種comet實(shí)現(xiàn)(Pushlet 是開源的Comet 框架):在Servlet機(jī)制下,數(shù)據(jù)從服務(wù)器的Java對(duì)象直接推送(push)到客戶端的頁(yè)面,而無(wú)需任何Java applet或者插件的幫助。它使server端可以周期性地更新client的web頁(yè)面,這與傳統(tǒng)的request/response方式不同。
Pushlet基于HTTP流,這種技術(shù)常常用在多媒體視頻、通訊應(yīng)用中,比如QuickTime。與裝載HTTP頁(yè)面之后馬上關(guān)閉HTTP連接的做法相 反,Pushlet采用HTTP流方式將新數(shù)據(jù)源源不斷地推送到client,再此期間HTTP連接一直保持打開。有關(guān)如何在Java中實(shí)現(xiàn)這種 Keep-alive的長(zhǎng)連接請(qǐng)參看Sun提供的《HTTP Persistent Connection》和W3C的《HTTP1.1規(guī)范》。
以上文章就是小編總結(jié)的關(guān)于網(wǎng)站即時(shí)通訊功能的實(shí)現(xiàn)方法及架構(gòu)的介紹了,以上這兩種技術(shù)實(shí)現(xiàn)聊天功能是技術(shù)人員經(jīng)常使用的方法,希望這篇文章對(duì)你有所幫助。
免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。