webRTC【一】流程梳理-服务搭建

最近打算搭建下webRTC服务,了解了一下原理,其实媒体视频流不跟服务器通信的,服务器只是把点对点的频道线路接通,这一节只把流程梳理了一下,还有后续不要走开~

  • 随机roomid && 信令连接建立

  • 进来的用户 发送信令 (‘click door’) => 信令服务器 判断 房间内是不是有人 (将两人分到同一个room)

     * 如果房间已有人,接受到信令 ('add');  
     * 如果房间没人,接受到信令 ('create');  
  • 客户端处理 add 频道已打通 roomReady = true 可以简单理解成双方都在线了

  • 客户端处理 create 信令建立 sigok = true; 建立信令

  • 获取userMedia权限

  • 发送 mediastream 开启的信令 (’media success’)

  • 创建
    PeerConnection 的实例,并添加 addStream( mediastream )

  • 如果是第一个人 直接调用
    createOffer(successhandle, errorhandle); success 需要发送
    sessionDescription 信令,

  • 如果接收到 sessionDescription 需要设置
    setRemoteDescription(new RTCSessionDescription(sessionDescription))
    并且发送 createAnswer().then(success, error) sessionDescription

  • 接受到answer 同样需要 setRemoteDescription 设置成功

文章来源: webRTC【一】流程梳理-服务搭建