websocket 用途,例子,場景,什麼時候用websocket

websocket 應用例子如下
先總結:高即時性服務,比如聊天室的羣聊,server順序收到了張三,李四的消息,立即就推送給王五,不能讓王五等半天。
Ajax也可以一秒一刷,讓王五去問張三說話沒,如果張三10分鐘沒說話,王五要去問600次。 用websocket 王五不用刷,等着就好了,服務器有了消息會自動給王五的。
1.websocket社交訂閱
對社交類的應用的一個裨益之處就是能夠即時的知道你的朋友正在做什麼。雖然聽起來有點可怕,但是我們都喜歡這樣做。你不會想要在數分鐘之後才能知道一個家庭成員在餡餅製作大賽獲勝或者一個朋友訂婚的消息。你是在線的,所以你的訂閱的更新應該是實時的。

2.websocket多玩家遊戲

網絡正在迅速轉變爲遊戲平臺。在不使用插件(我指的是Flash)的情況下,網絡開發者現在可以在瀏覽器中實現和體驗高性能的遊戲。無論你是在處理DOM元素、CSS動畫,HTML5的canvas或者嘗試使用WebGL,玩家之間的互動效率是至關重要的。我不想在我扣動扳機之後,我的對手卻已經移動位置。

3.websocket協同編輯/編程

我們生活在分佈式開發團隊的時代。平時使用一個文檔的副本就滿足工作需求了,但是你最終需要有一個方式來合併所有的編輯副本。版本控制系統,比如Git能夠幫助處理某些文件,但是當Git發現一個它不能解決的衝突時,你仍然需要去跟蹤人們的修改歷史。通過一個協同解決方案,比如WebSocket,我們能夠工作在同一個文檔,從而省去所有的合併版本。這樣會很容易看出誰在編輯什麼或者你在和誰同時在修改文檔的同一部分。

4.websocket收集點擊流數據

分析用戶與你網站的互動是提升你的網站的關鍵。HTTP的開銷讓我們只能優先考慮和收集最重要的數據部分。然後,經過六個月的線下分析,我們意識到我們應該收集一個不同的判斷標準——一個看起來不是那麼重要但是現在卻影響了一個關鍵的決定。與HTTP請求的開銷方式相比,使用Websocket,你可以由客戶端發送不受限制的數據。想要在除頁面加載之外跟蹤鼠標的移動?只需要通過WebSocket連接發送這些數據到服務器,並存儲在你喜歡的NoSQL數據庫中就可以了(MongoDB是適合記錄這樣的事件的)。現在你可以通過回放用戶在頁面的動作來清楚的知道發生了什麼。

5.股票基金報價

金融界瞬息萬變——幾乎是每毫秒都在變化。我們人類的大腦不能持續以那樣的速度處理那麼多的數據,所以我們寫了一些算法來幫我們處理這些事情。雖然你不一定是在處理高頻的交易,但是,過時的信息也只能導致損失。當你有一個顯示盤來跟蹤你感興趣的公司時,你肯定想要隨時知道他們的價值,而不是10秒前的數據。使用WebSocket可以流式更新這些數據變化而不需要等待。

6.體育實況更新

現在我們開始討論一個讓人們激情澎湃的愚蠢的東西——體育。我不是運動愛好者,但是我知道運動迷們想要什麼。當愛國者在打比賽的時候,我的妹夫將會沉浸於這場比賽中而不能自拔。那是一種瘋狂癡迷的狀態,完全發自內心的。我雖然不理解這個,但是我敬佩他們與運動之間的這種強烈的聯繫,所以,最後我能做的就是給他的體驗中降低延遲。如果你在你的網站應用中包含了體育新聞,WebSocket能夠助力你的用戶獲得實時的更新。

7.多媒體聊天

視頻會議並不能代替和真人相見,但當你不能在同一個屋子裏見到你談話的對象時,視頻會議是個不錯的選擇。儘管視頻會議私有化做的“不錯”,但其使用還是很繁瑣。我可是開放式網絡的粉絲,所以用WebSockets getUserMedia API和HTML5音視頻元素明顯是個不錯的選擇。WebRTC的出現順理成章的成爲我剛纔概括的組合體,它看起來很有希望,但其缺乏目前瀏覽器的支持,所以就取消了它成爲候選人的資格。

8.基於位置的應用

越來越多的開發者借用移動設備的GPS功能來實現他們基於位置的網絡應用。如果你一直記錄用戶的位置(比如運行應用來記錄運動軌跡),你可以收集到更加細緻化的數據。如果你想實時的更新網絡數據儀表盤(可以說是一個監視運動員的教練),HTTP協議顯得有些笨拙。借用WebSocket TCP鏈接可以讓數據飛起來。

9.在線教育

上學花費越來越貴了,但互聯網變得更快和更便宜。在線教育是學習的不錯方式,尤其是你可以和老師以及其他同學一起交流。很自然,WebSockets是個不錯的選擇,可以多媒體聊天、文字聊天以及其它優勢如與別人合作一起在公共數字黑板上畫畫…

10.論壇的消息廣播
早期的論壇消息通知,靠的都是JS輪詢,現在有了websocket 可以改改了。

https://java-er.com/blog/websocket-where-when/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章