該庫的建立是因為與.NET 2.0,UWP與.NET Core和.NET 4.6套接字庫之間的統一性不兼容。
您可以使用此庫來設置Unity客戶端和UWP客戶端之間的基本通信。我們正在使用Unity和HoloLens之間的此庫進行網絡通信。它使您可以自由更改和實施自己的協議。
完成此操作後,您可以在Unity項目中開始使用MydreRealityNetworking名稱空間。 .dll應該在台式機PC上和UWP設備(例如HoloLens)上使用。確保如果您將自己的方法實現到庫中,則在兩個DLL中,方法都是相同的。
我們已經嘗試使用Unity和Hololens為我們的項目使用各種網絡解決方案。 Unity的標準網絡元素“ UNET”有很多開銷,並且不容易整合到我們的項目中。微軟發布了Holotoolkit,以與統一結合使用。但是,此庫並未完全開放,僅在Windows上運行。由於該協議不是開源的,因此您無法將其實現到專用的Linux服務器中。使用普通C#套接字不起作用,因為UWP中沒有System.net.sockets名稱空間,並且為UWP設計用於使命名空間可用的庫,因為Unity在.NET 2.0上運行。因此,我們已經建立了自己的。
該庫僅在UDP協議頂部提供一個小層,這意味著您可以發送所需的所有數據。它非常容易使用,並且很容易消耗在您自己的項目中。您可以使用IT PEER2PEER,但也可以實現專用服務器。
UDP不像TCP套接字那樣自動了解客戶端。在知道客戶端之前,它應該先發送消息。如果您在連接2個客戶端方面遇到問題,請確保您的防火牆允許使用UDP流量,並且IP地址和端口是正確的。您可以使用將UDP流量路由到正確客戶端的專用服務器來解決P2P問題。但即使那樣;所有客戶端都應在已知客戶端之前先向服務器發送消息。服務器應存儲IP地址和端口。