DataChannel が動いた日

DataChannel は WebSocket で十分だろうと思っていたので、作らずにやり過ごす予定だった。ただ色々可能性が広がりそうなこともあり、一念発起して DataChannel を WebRTC SFU に実装することにした。

まずは動くものを作る、細かい部分は後でということで、動いたので記事を書く。

Image for post
Image for post
Chrome + WebRTC SFU
Image for post
Image for post
data.html

DataChannel は SCTP over DTLS over UDP と言われるが、実はそんなことはなく、SCTP の DataChannel 拡張を利用しているため、正しくは WebRTC DataChannel over SCTP over DTLS over UDP となる。

さらに自社の SFU は TURN を組み込んでいるので WebRTC DataChannel over SCTP over DTLS over TURN-UDP over UDP となる。もうなにがなんだかわからないミルフィーユ感。

まずは SCTP を実装することにした。必要最低限実装してあとは保管していくスタイル。

そして SCTP 上に構築される DataChannel の実装。とにかく状態が多い印象。また SCTP の機能が豊富なので細かい。めんどくさい。

それにしても動くものだ、もちろん課題はまだまだ山のようにあるのでこれから解決しなければいけない問題も多い。

ただ、動いたという事実はとても喜ばしい。早ければ秋の前に前には DataChannel + WebRTC SFU が提供できるかもしれない。

引き続きやっていく。

DTLS ライブラリの実装が動いたときの記事

WebRTC SFU が動いたときの記事

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store