2

我正在编写一个简单的聊天应用程序,我想向我的应用程序添加一个共享绘图画布,该应用程序使用数据通道在它们之间发送画布点。但这是一个可选规范,所以我不想每次打开聊天都打开数据通道。如果我在建立对等连接后(提供后)打开数据通道,我无法通过数据通道发送任何数据。否则我可以发送(我从这里得到这一点:https ://stackoverflow.com/a/35141500/5663292 )。那么为什么我必须在对等连接提供之前打开数据通道?

4

1 回答 1

4

SDP 提议/答案是确定您的对等方想要进行通信的确切方式。报价包括实际连接方法(IP/端口/TURN 中继)以及您想要使用的流、编解码器和频道。答案缩小了范围/确认了其他对等方可以接受的内容。

如果您想在通信中添加任何内容,例如额外的媒体流或数据通道,您需要通知其他对等方,否则它不会期待任何/无法处理它。

流量总是:

  1. 准备好任何你想发送到本地远程对等点的东西RTCPeerConnection
  2. 生成本地描述
  3. 将其发送到远程对等方
  4. 等待远程对等方的回答
  5. 合并遥控器的答案 ( setRemoteDescription)

只有这样,双方才能在同一页面上,才能真正相互交谈。必要时重复此过程,即每当您对所发送的内容进行重大更改时。

于 2016-08-10T12:02:28.843 回答