WebRTC 1 対 1 のオーディオおよびビデオ コール シグナリング プロトコル設計

メインロジックダイアグラム

青い部分は主要なシグナリング ロジックです (矢印に注意してください)。
ここに画像の説明を挿入

シグナリング ロジック

json パッケージ形式の使用

1. join 加入房间 
2. resp­_join 当join房间后发现房间已经存在另一个人时则返回另一个人的uid;如果只有自己则不返回 
3. leave 离开房间,服务器收到leave信令则检查同一房间是否有其他人,如果有其他人则通知他有人离开 
4. new­peer 服务器通知客户端有新人加入,收到new­peer则发起连接请求 
5. peer­leave 服务器通知客户端有人离开 
6. offer 转发offer sdp 
7. answer 转发answer sdp
8. candidate 转发candidate sdp

ロジックの比較
1 resp_join A が最初に部屋 B に入り、部屋に入った後、A の基本情報を B に返します
2 new_peer A が最初に部屋 B に入り、部屋に入ってから B の基本情報を A に返します

加入

var jsonMsg = {
    
    
 'cmd': 'join', 
 'roomId': roomId,
  'uid': localUserId
  };

応答する

jsonMsg = {
    
     
	'cmd': 'resp‐join',
    'remoteUid': remoteUid 
    };

離れる

var jsonMsg = {
    
     
	'cmd': 'leave', 
	'roomId': roomId, 
	'uid': localUserId 
	};

新人

var jsonMsg = {
    
     
	 'cmd': 'new‐peer',
	 'remoteUid': uid 
	  };

ピアリーブ

var jsonMsg = {
    
     
	 'cmd': 'peer‐leave',
	 'remoteUid': uid 
	 };

オファー

var jsonMsg = {
    
    
	'cmd': 'offer', 
	'roomId': roomId, 
	'uid': localUserId, 
	'remoteUid':remoteUserId, 
	'msg': JSON.stringify(sessionDescription)
	 };

答え

 var jsonMsg = {
    
     
 	 'cmd': 'answer', 
 	 'roomId': roomId, 
 	 'uid': localUserId, 
 	 'remoteUid':remoteUserId, 
 	 'msg': JSON.stringify(sessionDescription) 
 	  };

候補者

var jsonMsg = {
    
     
	 'cmd': 'candidate', 
	 'roomId': roomId, 
	 'uid': localUserId, 
	 'remoteUid':remoteUserId, 
	 'msg': JSON.stringify(candidateJson) 
	 };

おすすめ

転載: blog.csdn.net/qq_33329316/article/details/124740960