Diese Bibliothek wurde aufgrund der Inkompatibilität zwischen Einheit mit .NET 2.0, UWP mit .NET Core- und .NET 4.6 -Socket -Bibliotheken erstellt.
Sie können diese Bibliothek verwenden, um eine grundlegende Kommunikation zwischen einem Unity -Client und einem UWP -Client einzurichten. Wir verwenden diese Bibliothek zwischen Einheit und HoloLens für die Netzwerkkommunikation. Es gibt Ihnen die Freiheit, Ihre eigenen Protokolle zu ändern und umzusetzen.
Wenn Sie dies getan haben, können Sie in Ihrem Einheitsprojekt den MaximalityNetworking -Namespace verwenden. Das .Dll sollte sowohl auf Desktop -PCs als auch auf UWP -Geräten wie den HoloLens funktionieren. Stellen Sie sicher, dass die Methoden in beiden DLLs gleich sind, wenn Sie Ihre eigenen Methoden in die Bibliothek implementieren.
Wir haben versucht, alle Arten von Networking -Lösungen für unser Projekt mit Einheit und HoloLens zu verwenden. Die Standard -Networkinglibrary "Unet" von Unity hatte viel Overhead und war nicht einfach in unser Projekt integriert. Microsoft veröffentlichte in Kombination mit Unity einen Holotoolkit für die HoloLens. Diese Bibliothek ist jedoch nicht vollständig geöffnet und läuft nur unter Windows. Da das Protokoll nicht openSource ist, können Sie es nicht in einen dedizierten Linux -Server implementieren. Die Verwendung von Plain C# Sockets funktionierte nicht, da der Namespace von System.net.Sockets in UWP nicht verfügbar ist und Bibliotheken, die für UWP ausgelegt sind, um den Namespace verfügbar zu machen, nicht installiert werden konnten, da Unity auf .NET 2.0 ausgeführt wird. Also haben wir unsere eigenen gebaut.
Diese Bibliothek bietet Ihnen nur eine kleine Ebene über dem UDP -Protokoll, dh Sie können alle gewünschten Daten senden. Es ist sehr einfach und für die Verwendung in Ihrem eigenen Projekt leicht verbraucht. Sie können es Peer2Peer verwenden, aber Sie können beispielsweise auch einen dedizierten Server implementieren.
UDP kennt Clients wie einen TCP -Socket nicht automatisch. Bevor ein Client bekannt ist, sollte er zuerst eine Nachricht senden. Wenn Sie Probleme mit der Verbindung von 2 Kunden haben, stellen Sie bitte sicher, dass Ihre Firewall den UDP -Datenverkehr und die IP -Adressen und Ports korrekt sind. Sie können mit einem dedizierten Server mit P2P -Problemen umgehen, der den UDP -Datenverkehr an den richtigen Client weiterleitet. Aber auch dann; Alle Clients sollten zuerst eine Nachricht an den Server senden, bevor der Client bekannt ist. Der Server sollte die IP -Adresse und den Port speichern.