web交互方式
輪詢(xún):客戶(hù)端定時(shí)向服務(wù)器發(fā)送Ajax請(qǐng)求,服務(wù)器接到請(qǐng)求后馬上返回響應(yīng)信息并關(guān)閉連接。?
優(yōu)點(diǎn):后端程序編寫(xiě)比較容易。?
缺點(diǎn):請(qǐng)求中有大半是無(wú)用,浪費(fèi)帶寬和服務(wù)器資源。?
實(shí)例:適于小型應(yīng)用。
長(zhǎng)輪詢(xún):客戶(hù)端向服務(wù)器發(fā)送Ajax請(qǐng)求,服務(wù)器接到請(qǐng)求后hold住連接,直到有新消息才返回響應(yīng)信息并關(guān)閉連接,客戶(hù)端處理完響應(yīng)信息后再向服務(wù)器發(fā)送新的請(qǐng)求。?
優(yōu)點(diǎn):在無(wú)消息的情況下不會(huì)頻繁的請(qǐng)求,耗費(fèi)資源小。?
缺點(diǎn):服務(wù)器hold連接會(huì)消耗資源,返回?cái)?shù)據(jù)順序無(wú)保證,難于管理維護(hù)。?
實(shí)例:WebQQ、Hi網(wǎng)頁(yè)版、Facebook IM。DWR(Direct Web Remoting)是一個(gè)用于改善web頁(yè)面與Java類(lèi)交互的遠(yuǎn)程服務(wù)器端Ajax開(kāi)源框架,可以幫助開(kāi)發(fā)人員開(kāi)發(fā)包含AJAX技術(shù)的網(wǎng)站。
?
長(zhǎng)連接:在頁(yè)面里嵌入一個(gè)隱蔵iframe,將這個(gè)隱蔵iframe的src屬性設(shè)為對(duì)一個(gè)長(zhǎng)連接的請(qǐng)求或是采用xhr請(qǐng)求,服務(wù)器端就能源源不斷地往客戶(hù)端輸入數(shù)據(jù)。?
優(yōu)點(diǎn):消息即時(shí)到達(dá),不發(fā)無(wú)用請(qǐng)求;管理起來(lái)也相對(duì)方便。?
缺點(diǎn):服務(wù)器維護(hù)一個(gè)長(zhǎng)連接會(huì)增加開(kāi)銷(xiāo)。?
實(shí)例:Gmail聊天
Flash Socket:在頁(yè)面中內(nèi)嵌入一個(gè)使用了Socket類(lèi)的 Flash 程序JavaScript通過(guò)調(diào)用此Flash程序提供的Socket接口與服務(wù)器端的Socket接口進(jìn)行通信,JavaScript在收到服務(wù)器端傳送的信息后控制頁(yè)面的顯示。?
優(yōu)點(diǎn):實(shí)現(xiàn)真正的即時(shí)通信,而不是偽即時(shí)。?
缺點(diǎn):客戶(hù)端必須安裝Flash插件;非HTTP協(xié)議,無(wú)法自動(dòng)穿越防火墻。?
實(shí)例:網(wǎng)絡(luò)互動(dòng)游戲。
轉(zhuǎn)載于:https://www.cnblogs.com/liangxiaofeng/p/5241043.html
總結(jié)
- 上一篇: HTML文字横向滚动
- 下一篇: 学好基础,展翅飞翔