【问题标题】:Which kind of protocol packet that RTCDataChannel use to init the connection?RTCDataChannel 使用哪种协议包来初始化连接?
【发布时间】:2016-08-29 08:12:04
【问题描述】:

我知道 RTCDataChannel 正在使用 SCTP 来初始化连接,但似乎它不使用 SCTP 数据包(具有数据块等)来初始化连接,它使用 SDP 数据包。

当我尝试使用 demo 并看到控制台时,它会像这样发送数据包:

v=0
o=- 777388697042846508 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
m=application 9 DTLS/SCTP 5000
c=IN IP4 0.0.0.0
a=ice-ufrag:ZE/xENc11wK9832B
a=ice-pwd:s9JV35l6IzPCPzSAhdcZrO7P
a=fingerprint:sha-256 AD:4B:A2:17:94:52:B5:68:8D:94:88:DD:37:98:B7:02:91:12:4D:FF:EE:32:76:80:11:12:AB:EE:4D:B7:15:16
a=setup:actpass
a=mid:data
a=sctpmap:5000 webrtc-datachannel 1024
common.js:8 14.954: Answer from remoteConnection 
v=0
o=- 8720098635349520996 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
m=application 9 DTLS/SCTP 5000
c=IN IP4 0.0.0.0
b=AS:30
a=ice-ufrag:sVJDQDQk2/ONvM7v
a=ice-pwd:ET9E6bl6qNpnZY2d7l5xKMDi
a=fingerprint:sha-256 AD:4B:A2:17:94:52:B5:68:8D:94:88:DD:37:98:B7:02:91:12:4D:FF:EE:32:76:80:11:12:AB:EE:4D:B7:15:16
a=setup:active
a=mid:data
a=sctpmap:5000 webrtc-datachannel 1024

据我所知,这是 SDP 数据包的格式。

那么任何人都可以帮我弄清楚这一点吗?

【问题讨论】:

    标签: webrtc sdp sctp rtcdatachannel


    【解决方案1】:

    为了启动数据通道(和您的 PeerConnection),您必须在您的客户端之间交换 SDP(编解码器、有关数据通道的信息、ICE 候选者等等......)。

    然后,您将能够通过 DC 交换一些数据。您不会看到 SCTP,因为它被封装在 DTLS/UDP 下。

    但 SCTP 不用于初始化连接。用于处理Datachannel的连接和交换数据。

    【讨论】:

    • DataChannel的数据是什么,能给我举个例子吗?
    • 这将是您将在 webapp 中与其他对等方交换的所有数据。根据mozilla.orgThe data can be a DOMString, a Blob, an ArrayBuffer or an ArrayBufferView.
    猜你喜欢
    • 1970-01-01
    • 2011-08-27
    • 2014-07-15
    • 2020-05-17
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    相关资源
    最近更新 更多