Esta biblioteca se construyó debido a la incompatibilidad entre Unity con .NET 2.0, UWP con Bibliotecas .NET Core y .NET 4.6 Socket.
Puede usar esta biblioteca para configurar la comunicación básica entre un cliente Unity y un cliente UWP. Estamos utilizando esta biblioteca entre Unity y HoloLens para la comunicación de red. Le da la libertad de cambiar e implementar sus propios protocolos.
Cuando haya hecho esto, puede comenzar a usar el espacio de nombres MixedRealityNetworking en su proyecto Unity. El .dll debería funcionar tanto en las PC de escritorio como en los dispositivos UWP como los HoloLens. Asegúrese de que si implementa sus propios métodos en la biblioteca, los métodos son los mismos en ambos DLL.
Hemos intentado usar todo tipo de soluciones de red para nuestro proyecto con Unity y HoloLens. El "Unet" estándar de Networkinglibrary de Unity tenía muchas sobrecargas, y no fue fácil de integrar en nuestro proyecto. Microsoft lanzó un Holotoolkit para los HoloLens en combinación con Unity. Sin embargo, esta biblioteca no se abre completamente y solo se ejecuta en Windows. Debido a que el protocolo no es OpenSource, no puede implementarlo en un servidor Linux dedicado. El uso de enchufes C# simples no funcionó porque el espacio de nombres System.net.sockets no está disponible en UWP, y las bibliotecas diseñadas para UWP para que el espacio de nombres esté disponible, no se puede instalar porque Unity se ejecuta en .NET 2.0. Entonces hemos construido el nuestro.
Esta biblioteca le brinda solo una pequeña capa además del protocolo UDP, lo que significa que puede enviar todos los datos que desee. Es muy fácil de usar y fácilmente prescindible para su uso en su propio proyecto. Puede usarlo Peer2Peer, pero también puede implementar un servidor dedicado, por ejemplo.
UDP no conoce automáticamente a los clientes, como un socket TCP. Antes de que se conozca un cliente, primero debe enviar un mensaje. Si tiene problemas para conectar 2 clientes, asegúrese de que su firewall permita que el tráfico UDP y las direcciones IP y los puertos sean correctos. Puede trabajar con problemas de P2P utilizando un servidor dedicado que enruta el tráfico UDP al cliente correcto. Pero incluso entonces; Todos los clientes deben enviar un mensaje primero al servidor antes de que se conozca el cliente. El servidor debe almacenar la dirección IP y el puerto.