以前都是娛樂性質玩玩 socket,這一次剛好在工作上有需求必須使用。 所以除了基本的使用方式,也研究了一下如何 scale 跟如何做驗證的方式 預計分成三個部分來分享 basic example (You are here) how to do authentication (to be continued) how to scale socket.io (to be continued) What is WebSocket? WebSocket 是在 html5 新定義的一種資料傳輸方式,其建立在 TCP 上的一種 full-duplex 通訊管道。 因為能夠讓 client 以及 server 兩邊持續維持著連線,並且雙向傳遞資料,因此大大提高了使用者的體驗。 常見的使用情境例如: 通知系統 即時聊天 多人共同編輯 其實說穿了,以上的例子都在解決一個問題——即時更新資料 以前想要做到類似效果,可能是利用 polling/long-polling 的方式來解決,也就是設定一個 timeout,不斷地透過 ajax 向 server 拿最新的資料。這樣的缺點也顯而易見,timeout 太短會浪費效能;timeout 太長會降低體驗。