x64 をターゲットとするプロジェクトの場合
Install-Package Spitfirex64
x86 をターゲットとするプロジェクトの場合
Install-Package Spitfirex86
ユーティリティをインストールするには
Install-Package SpitfireUtils
Spitfire は、.NET アプリケーションがデータ チャネルを利用できるようにする WebRTC ネイティブ コードのラッパーです。この目的は、人々が素晴らしい P2P アプリケーションを構築できるようにし、サーバーのような方法で WebRTC を簡単に使用できるようにすることです。
WebRTC データ チャネルを使用すると、アクティブな接続を介してピアにテキストまたはバイナリ データを送信できます。ゲームのコンテキストでは、これによりプレイヤーはテキスト チャットやゲーム ステータス情報など、データを相互に送信できるようになります。データ チャネルには 2 つの種類があります。
信頼できるチャネルは、送信したメッセージが送信されたのと同じ順序で他のピアに到着することを保証します。これは TCP ソケットに似ています。
信頼性の低いチャネルではそのような保証はありません。メッセージは特定の順序で到着することが保証されておらず、実際、到着することはまったく保証されていません。これは UDP ソケットに似ています。
UDP と TCP の違いについての簡単な注意事項については、ここを参照してください。
このライブラリは現在オーディオとビデオをサポートしていませんが、十分な需要があれば追加を検討する可能性があります。このコードがすべての環境で確実に実行されるようにするために、初期化中に偽のオーディオ/ビデオ デバイスを実装します。
データ チャネルはデータの小さな断片の送信のみをサポートしますが、完全なファイルを送信することは可能ですが、最初にチャンク化する必要があります。 DataChannelUtils
で不必要なコピーを行わずにこれを迅速に実行できるいくつかの関数が提供されています。 16 KB の制限に達しないように、10 KB を超えるメッセージはすべてチャンク化することをお勧めします。
シグナリングは、コミュニケーションを調整するプロセスです。 WebRTC アプリケーションがデータ チャネルを設定するには、そのクライアントが情報を交換する必要があります。 Spitfire は現在シグナリング サーバーを提供していませんが、これは複雑なプロセスではないため、詳細についてはここで確認できます。
アプリケーションの速度を最大化したい場合は、Spitfire と当社の高速ネットワーク メッセージング フレームワークである Sachiel を組み合わせることをお勧めします。
ドキュメント、コード例、または修正を提供したい場合は、プル リクエストを喜んで受け付けます。
C++ をビルドするには、ここのリリース ページでプリコンパイルされた WebRTC ライブラリを見つけることができます。 WebRTC の構築自体は非常に面倒な作業であるため、そのためのスクリプトもここに用意されています。