RTCDataChannel用于初始化连接的哪种协议包?

时间:2016-05-04 04:22:23

标签: webrtc sdp sctp rtcdatachannel

我知道RTCDataChannel正在使用SCTP来初始化连接,但似乎它没有使用SCTP数据包(有DATA Chunk等)来初始化连接,它使用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数据包的格式。

所以任何人都可以帮我澄清一下吗?

1 个答案:

答案 0 :(得分:1)

为了启动Datachannel(和您的PeerConnection),您必须在客户之间交换SDP(编解码器,有关Datachannel,ICE候选人等的信息......)。

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

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