このライブラリは、.NET 2.0、.NETコアと.NET 4.6ソケットライブラリを備えたUWPとの統一性の非互換性のために構築されました。
このライブラリを使用して、UnityクライアントとUWPクライアントの間の基本的な通信をセットアップできます。ネットワーク通信のために、UnityとHololensの間にこのライブラリを使用しています。それはあなたにあなた自身のプロトコルを変えて実装する自由を与えます。
これを行ったら、UnityプロジェクトでMixedRealityNetworkingネームスペースの使用を開始できます。 .dllは、デスクトップPCとHololensなどのUWPデバイスの両方で動作する必要があります。独自の方法をライブラリに実装する場合は、両方のDLLでメソッドが同じであることを確認してください。
私たちは、私たちのプロジェクトのために、UnityとHololensであらゆる種類のネットワーキングソリューションを使用しようとしました。 Unityの標準的なNetworkingLibraryの「UNET」には多くのオーバーヘッドがあり、プロジェクトに統合するのは簡単ではありませんでした。 Microsoftは、HololensのHolotoolkitをUnityと組み合わせてリリースしました。ただし、このライブラリは完全にOpenSourceではなく、Windowsでのみ実行されます。プロトコルはOpenSourceではないため、専用のLinuxサーバーに実装することはできません。 System.net.Socketsの名前空間がUWPでは使用できないため、プレーンC#ソケットの使用は機能しませんでした。UWPがNAMESPACEを使用できるように設計されたライブラリは、UNITYが.NET 2.0で実行されるためインストールできませんでした。だから私たちは独自のものを構築しました。
このライブラリは、UDPプロトコルの上に小さなレイヤーを提供します。つまり、必要なすべてのデータを送信できます。非常に使いやすく、あなた自身のプロジェクトで使用するのに簡単に消費できます。 peer2peerを使用できますが、たとえば専用サーバーを実装することもできます。
UDPは、TCPソケットのようなクライアントを自動的に知りません。クライアントがわかっている前に、最初にメッセージを送信する必要があります。 2つのクライアントを接続するのに問題がある場合は、ファイアウォールによりUDPトラフィックが許可され、IPアドレスとポートが正しいことを確認してください。 UDPトラフィックを適切なクライアントにルーティングする専用サーバーを使用して、P2Pの問題を回避できます。しかし、それでも;すべてのクライアントは、クライアントが既知になる前に、最初にサーバーにメッセージを送信する必要があります。サーバーは、IPアドレスとポートを保存する必要があります。