Какой тип протокола используется RTCDataChannel для инициализации соединения?

Я знаю, что RTCDataChannel использует SCTP для инициализации соединения, но, похоже, он не использует пакет SCTP (у которого есть DATA Chunk и т. Д.) Для инициализации соединения, он использует пакет 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.

Так кто-нибудь может помочь мне прояснить это?

1 ответ

Решение

Чтобы инициировать Datachannel (и ваше PeerConnection), вы должны обменять SDP (кодеки, информацию о Datachannel, кандидатах ICE и т. Д.) Между вашими клиентами.

Тогда вы сможете обмениваться некоторыми данными через DC. Вы не увидите SCTP, потому что он инкапсулирован в DTLS/UDP.

Но SCTP не используется для инициации соединения. Он используется для обработки соединения и обмена данными канала передачи данных.

Другие вопросы по тегам