为什么我必须在发送对等连接提议之前打开数据通道?
Why I have to open data channel before send peer connection offer?
我正在编写一个简单的聊天应用程序,我想将共享绘图 canvas 添加到我的应用程序中,该应用程序使用 数据通道 发送 canvas 它们之间的点。但这是一个可选规范,所以我不想每次打开聊天时都打开一个数据通道。如果我在建立对等连接后(提供后)打开数据通道,则无法通过数据通道发送任何数据。否则我可以发送(我从这里得到这一点:)。那么为什么我必须在 peer connection offer 之前打开数据通道?
SDP offer/answer 确定了您的同行想要交流的方式。该优惠包括实际连接方法(IP/port/TURN 中继) 和 您要使用的流媒体、编解码器和频道。答案缩小了这个 down/confirms 其他同行可以接受的范围。
如果您想向通信中添加任何内容,例如额外的媒体流 或数据通道 ,您需要通知其他对等方,否则它不会预计 anything/can 不会处理它。
流量总是:
- 准备好任何你想发送给你本地的远程节点的东西
RTCPeerConnection
- 生成本地描述
- 将其发送到远程节点
- 等待远程节点的回答
- 合并遥控器的答案(
setRemoteDescription
)
只有这样,双方才能达成共识,才能真正交谈。必要时重复此过程,即每当您对要发送的内容进行实质性更改时。
我正在编写一个简单的聊天应用程序,我想将共享绘图 canvas 添加到我的应用程序中,该应用程序使用 数据通道 发送 canvas 它们之间的点。但这是一个可选规范,所以我不想每次打开聊天时都打开一个数据通道。如果我在建立对等连接后(提供后)打开数据通道,则无法通过数据通道发送任何数据。否则我可以发送(我从这里得到这一点:)。那么为什么我必须在 peer connection offer 之前打开数据通道?
SDP offer/answer 确定了您的同行想要交流的方式。该优惠包括实际连接方法(IP/port/TURN 中继) 和 您要使用的流媒体、编解码器和频道。答案缩小了这个 down/confirms 其他同行可以接受的范围。
如果您想向通信中添加任何内容,例如额外的媒体流 或数据通道 ,您需要通知其他对等方,否则它不会预计 anything/can 不会处理它。
流量总是:
- 准备好任何你想发送给你本地的远程节点的东西
RTCPeerConnection
- 生成本地描述
- 将其发送到远程节点
- 等待远程节点的回答
- 合并遥控器的答案(
setRemoteDescription
)
只有这样,双方才能达成共识,才能真正交谈。必要时重复此过程,即每当您对要发送的内容进行实质性更改时。