日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

创建基于Web的实时系统

發(fā)布時間:2023/12/20 windows 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建基于Web的实时系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

當創(chuàng)建基于Web的實時系統(tǒng)時,通常我們會使用到以下技術(shù):

輪詢
長連接
長輪詢
Flash Socket
WEB Socket

下面我們對這些技術(shù)作個簡單介紹。

?

傳統(tǒng)輪詢(Traditional Polling)

當前Web應(yīng)用中較常見的一種持續(xù)通信方式,通常采取setInterval或者setTimeout實現(xiàn)。例如如果我們想要定時獲取并刷新頁面上的數(shù)據(jù),可以結(jié)合Ajax寫出如下實現(xiàn):

setInterval(function() {$.get("/path/to/server", function(data, status) {console.log(data);}); }, 10000);

客戶端定時向服務(wù)器發(fā)送ajax請求,服務(wù)器接到請求后馬上返回響應(yīng)信息并關(guān)閉連接。
優(yōu)點:后端程序編寫比較容易。
缺點:請求中有大半是無用,浪費帶寬和服務(wù)器資源。

http 長連接:

目前 http 協(xié)議普遍使用的是 1.1 版本, 之前有個 1.0 版本, 兩者之間的一個區(qū)別是 1.1 支持 http 長連接, 或者叫持久連接.1.0 不支持 http 長連接, 每次一個 http 請求響應(yīng)后都關(guān)閉 tcp 連接,下個 http 請求會重新建立 tcp 連接。

所謂 http 長連接就是多個 http 請求共用一個 tcp 連接,這樣可以減少多次臨近 http 請求導(dǎo)致 tcp 建立關(guān)閉所產(chǎn)生的時間消耗。

通常在頁面里嵌入一個隱蔵iframe,將這個隱蔵iframe的src屬性設(shè)為對一個長連接的請求,服務(wù)器端就能源源不斷地往客戶端輸入數(shù)據(jù)。比如早期的Gmail聊天

優(yōu)點:消息即時到達,不發(fā)無用請求。
缺點:服務(wù)器維護一個長連接會增加開銷。

http 長輪詢:

http 長輪詢是服務(wù)器收到請求后如果有數(shù)據(jù), 立刻響應(yīng)請求; 如果沒有數(shù)據(jù)就會 hold 一段時間, 這段時間內(nèi)如果有數(shù)據(jù)立刻響應(yīng)請求; 如果時間到了還沒有數(shù)據(jù), 則響應(yīng) http 請求;瀏覽器受到 http 響應(yīng)后立在發(fā)送一個同樣 http 請求查詢是否有數(shù)據(jù);

客戶端向服務(wù)器發(fā)送Ajax請求,服務(wù)器接到請求后hold住連接,直到有新消息才返回響應(yīng)信息并關(guān)閉連接,客戶端處理完響應(yīng)信息后再向服務(wù)器發(fā)送新的請求。

優(yōu)點:在無消息的情況下不會頻繁的請求。
缺點:服務(wù)器hold連接會消耗資源。瀏覽器端對統(tǒng)一服務(wù)器同時 http 連接有最大限制, 最好同一用戶只存在一個長輪詢;
服務(wù)器端沒有數(shù)據(jù) hold 住連接時會造成浪費, 容易產(chǎn)生服務(wù)器瓶頸;
實例:WebQQ、Hi網(wǎng)頁版、Facebook IM。

?

Flash Socket:

在頁面中內(nèi)嵌入一個使用了Socket類的 Flash 程序JavaScript通過調(diào)用此Flash程序提供的Socket接口與服務(wù)器端的Socket接口進行通信,JavaScript在收到服務(wù)器端傳送的信息后控制頁面的顯示。
優(yōu)點:實現(xiàn)真正的即時通信,而不是偽即時。
缺點:客戶端必須安裝Flash插件;非HTTP協(xié)議,無法自動穿越防火墻。
實例:網(wǎng)絡(luò)互動游戲。

?

WebSocket

WebSocket是HTML 5規(guī)范的組成部分之一。WebSocket相較于上述幾種連接方式,實現(xiàn)原理較為復(fù)雜,用一句話概括就是:客戶端向WebSocket服務(wù)器通知一個帶有所有接收者ID(recipients IDs)的事件(event),服務(wù)器接收后立即通知所有活躍的(active)客戶端,只有ID在接收者ID序列中的客戶端才會處理這個事件。由于WebSocket本身是基于TCP協(xié)議的,所以在服務(wù)器端我們可以采用構(gòu)建TCP Socket服務(wù)器的方式來構(gòu)建WebSocket服務(wù)器。

優(yōu)點:實現(xiàn)真正的即時通信,而不是偽即時。
缺點:不是所有瀏覽器都支持(雖然大部分都已經(jīng)支持)。
?

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/zhumingwu/p/7490341.html

總結(jié)

以上是生活随笔為你收集整理的创建基于Web的实时系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。