我正在编写一个简单的聊天应用程序,我想向我的应用程序添加一个共享绘图画布,该应用程序使用数据通道在它们之间发送画布点。但这是一个可选规范,所以我不想每次打开聊天都打开数据通道。如果我在建立对等连接后(提供后)打开数据通道,我无法通过数据通道发送任何数据。否则我可以发送(我从这里得到这一点:https ://stackoverflow.com/a/35141500/5663292 )。那么为什么我必须在对等连接提供之前打开数据通道?
问问题
1016 次
1 回答
4
SDP 提议/答案是确定您的对等方想要进行通信的确切方式。报价包括实际连接方法(IP/端口/TURN 中继)以及您想要使用的流、编解码器和频道。答案缩小了范围/确认了其他对等方可以接受的内容。
如果您想在通信中添加任何内容,例如额外的媒体流或数据通道,您需要通知其他对等方,否则它不会期待任何/无法处理它。
流量总是:
- 准备好任何你想发送到本地远程对等点的东西
RTCPeerConnection
- 生成本地描述
- 将其发送到远程对等方
- 等待远程对等方的回答
- 合并遥控器的答案 (
setRemoteDescription
)
只有这样,双方才能在同一页面上,才能真正相互交谈。必要时重复此过程,即每当您对所发送的内容进行重大更改时。
于 2016-08-10T12:02:28.843 回答