1

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

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

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 数据包的格式。

所以有人可以帮我弄清楚吗?

4

1 回答 1

1

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

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

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

于 2016-05-04T08:36:23.413 回答