socket io 的詳細工作流程是怎樣的?

時間 2021-05-14 08:25:36

1樓:

最近也碰到這個問題,找問題每次查到知乎和segmentfalt上的時候總是有一堆人冷嘲熱諷。不懂或者不想說就閉嘴好了,為什麼非要說一堆沒用的廢話。反觀stackoverflow,誠意滿滿,裝逼人員極少。

2樓:花竹

這個主要需要了解TCP,Socket,全雙工通訊這些基礎,就能理解http://

socket.io

的工作方式了,無非就是對webSocket的庫!

3樓:COIN

最近專案有用到socket做上傳,就我理解的來說說,如有問題請指正並原諒俺~

流程大致是這樣的:

服務端啟動乙個socket服務,並監聽'connection'事件。

客戶端(一般指瀏覽器)建立乙個websocket,並連線伺服器端的socket,並繫結接收socket事件的方法。

客戶連線後,服務端socket就可以向客戶端發訊息了。

socket通訊可以簡單的理解為乙個真正意義上的長鏈結,不主動斷開的話該通道一直存在,並且通道的兩端可以互相喊話。

普通的請求比如http\xhr這類的,是乙個一次性的通訊,當通訊完成後,通道會關閉。

socket一次通訊後並不會關閉通道,這就是他們的區別所在。

當然不同的通訊有不同的協議,此處就不展開了(其實是我沒怎麼了解...)。

Socket.IO 」 Docs 官網給的demo很明白了。

服務端var

);// 建立socket,監聽連線io.

on('connection'

,function

(socket));

// 接收客戶端事件

socket.on

('my other event'

,function

(data));

});客戶端

);// 自定義乙個'news'事件

socket.on

('news'

,function

(data));

});當然實際應用中遠遠不止如此簡單,以我目前的知識儲備,可以推薦的是將socket當作乙個類http服務,不同的請求可以當成router+handle的方法來處理,這樣就不會有一堆亂七八糟的的on\emit了。

官方也推薦使用namespace來區分多個處理服務。

unity開發工作流程

5 如果需求不怎麼變了,策劃開始划水上班打dota或者開始挖下乙個坑。美術一般也閒不了。程式開始在坑里往外爬。6 功能開發完成,開始alpha測試,經過幾輪alpha過後正規點的開始beta測試,不正規的就直接上市了。3 以我目前的經驗看,基本上都是邊寫邊改。其實遊戲開發也是軟體開發的一種,因此也遵...

如何優化工作流程?

哈登 工作流程的優化肯定需要借助工作流審批工具的,利用資訊化的手段去管理流程,根本不用人工去思考如何做管控,可以看看天翎的流程工具平台,管控流程還是挺好的 十億 其實優化工作流程就是兩點 1 明確優先順序 2 流程自動化。其實現在市面上有很多辦公軟體可以幫助企業優化工作流程,推薦可以試用下Workt...

怎麼理解 高效的工作流程是沒有任何流程 ?

胡佳恆 1.如果你要跑10公里,不開啟keep語音指導,大多數人難以堅持跑完。2.當你連續跑了100個10公里之後,在不開啟keep的情況下,你依然可能堅持跑完。3.大多數人開啟keep語音指導,跑了3公里之後就放棄了,然後說keep語音指導沒用。4.這就是流程在公司人眼裡的普遍印象。祝好。 喜一 ...