socket.io鮮爲人知的功能

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

相關文章
相關標籤/搜索