WebRTC データチャネル

WebRTC (Web Real-Time Communications、ウェブリアルタイム通信) API は、主に音声や動画の通信に対応していることで知られていますが、ピアツーピアのデータチャネルも提供されています。この記事では、このことについて詳しく説明し、ゲームにデータチャンネルを搭載するためにライブラリーを使用する方法を紹介します。

データチャネルとは?

WebRTC データチャネルを使用すると、ピアとのアクティブな接続を介してテキストまたはバイナリーデータを送信することができます。ゲームのコンテキストでは、プレイヤーはテキストチャットやゲームのステータス情報など、互いにデータを送信できます。データチャネルには 2 種類のタイプがあります。

信頼性の高いチャンネル (Reliable channels) は、送信したメッセージが相手ピアに、送信したのと同じ順序で到着することを保証します。これは TCP ソケットに類似しています。

信頼性のないチャンネル (Unreliable channels) は、そのような保証はありません。これは UDP ソケットに類似しています。

私たちの文書化には WebRTC を使用するためのドキュメントがあります。しかし、この記事では、この作業を些細なものにするのに役立ついくつかのライブラリーを利用し、ブラウザ間の実装の違いを回避するために抽象化を使用する方法を説明します。もちろん、このような差異が時間の経過とともに消えていくことを期待しています。

p2p ライブラリーを使用する

使用できるライブラリーの一つにp2pライブラリーがあります。このライブラリーは、ピア接続を作成し、ストリームとデータチャネルを設定するための簡単なAPIを提供しています。また、ブローカーサーバーコンポーネントとホスティングブローカーもあり、自分で設定する代わりに使用することができます。

メモ: 近々、ここにコンテンツを追加していく予定です。

原典情報