webRTC學習系列之——信令服務器的實現與socket.io的使用

信令服務器

選用socket.io的原因

  1. socket.io是WebSocket的超集(具有穩定性)
  2. socket.io有房間的概念
  3. socket.io跨平臺,跨終端,跨語言

socket.io工作原理

socket.io工作原理

socket.io發送消息(常用)

方法 作用
socket.emit() 給本次連接發送消息
io.in(room).emit() 給某個房間內所有人發送消息
socket.to(room).emit() 除本連接外,給某個房間內所有人發送消息(例如管理員禁言,公告)
socket.broadcast.emit() 除本連接外,給整個站點(所有房間)的所有人發送消息

socket.io客戶端處理消息

  1. 發送action命令
    S:socket.emit( ‘action’ );
    C:socket.on( ‘action’ , function( ){ … });
  2. 發送一個action命令,帶有一個data數據
    S:socket.emit(‘action’,data);
    C:socket.on( ‘action’ , function( data ) { … } );
  3. 發送一個action命令,帶有兩個數據
    S:socket.emit( ‘action’ , arg1 , arg2 );
    C:socket.on( ‘action’ , function ( arg1 , arg2 ) {…} );
  4. 發送一個action命令,在emit方法中包含回調函數
    S:socket.emit( ‘action’ , data , function(arg1,arg2) {…} )
    C:socket.on( ‘action’ , function(data , fn) {fn(‘a’,‘b’); } )

實現信令服務器

安裝sockit.io

npm i socket.io

引入socket.io

const socketIo = require('socket.io');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章