socket.io 是一個基於websocket實現的先後端實時通信框架,也對低版本瀏覽器作了封裝。使用起來簡單,方便。javascript
初次使用起來可能會比較迷糊,其實主要經常使用就幾個方法,簡單介紹一下。java
//客戶端 io.connect(url) //客戶端鏈接上服務器端 socket.on('eventName', msg => {}) //客戶端監聽服務器端事件 socket.emit('eventName', msg) //客戶端向服務器端發送數據 socket.disconnect() //客戶端斷開連接 //服務端 socket.on('eventName', msg => {}) //服務器端監聽客戶端emit的事件,事件名稱能夠和客戶端是重複的,可是並無任何關聯。socket.io內置了一些事件好比connection,disconnect,exit事件,業務中錯誤處理須要用到。 socket.emit('eventName', msg) //服務端各自的socket向各自的客戶端發送數據 socket.broadcast('eventName', msg) //服務端向其餘客戶端發送消息,不包括本身的客戶端 socket.join(channel) //建立一個頻道(很是有用,尤爲作分頻道的時候,好比鬥地主這種實時棋牌遊戲) io.sockets.in(channel) //加入一個頻道 socket.broadcast.to(channel).emit('eventName', msg) //向一個頻道發送消息,不包括本身 io.sockets.adapter.rooms //獲取全部的頻道
歡迎借鑑~web