Эта библиотека была построена из -за несовместимости между Unity с .NET 2.0, UWP с .NET CORE и библиотеками .NET 4.6.
Вы можете использовать эту библиотеку для настройки базовой связи между клиентом Unity и клиентом UWP. Мы используем эту библиотеку между Unity и Hololens для сетевой связи. Это дает вам свободу изменить и внедрять ваши собственные протоколы.
Когда вы это сделаете, вы можете начать использовать пространство имен MixedRealityNetworking в своем проекте Unity. .Dll должен работать как на настольных ПК, так и на устройствах UWP, таких как Hololens. Убедитесь, что если вы внедрите свои собственные методы в библиотеку, методы одинаковы в обоих DLL.
Мы пытались использовать все виды сетевых решений для нашего проекта с Unity и Hololens. Стандартная сеть Unity Networkinglibrary "Unet" имела много накладных расходов, и была нелегко интегрироваться в наш проект. Microsoft выпустила Holotoolkit для Hololens в сочетании с Unity. Тем не менее, эта библиотека не полностью открыта и работает только в Windows. Поскольку протокол не открыт, вы не можете реализовать его в выделенный сервер Linux. Использование простых сокетов C# не сработало, потому что пространство имен System.net.sockets недоступно в UWP, и библиотеки, разработанные для UWP, чтобы сделать пространство имен доступным, не может быть установлено, потому что Unity работает на .net 2.0. Итак, мы построили свои собственные.
Эта библиотека дает вам лишь небольшой слой поверх протокола UDP, что означает, что вы можете отправить все данные, которые вы хотите. Это очень просто в использовании и легко расходуется для использования в вашем собственном проекте. Вы можете использовать его Peer2peer, но вы также можете реализовать выделенный сервер.
UDP автоматически не знает клиентов, таких как розетка TCP. Прежде чем клиент будет известен, он должен сначала отправить сообщение. Если у вас есть проблемы с подключением 2 клиентов, убедитесь, что ваш брандмауэр позволяет UDP -трафик, а IP -адреса и порты являются правильными. Вы можете работать по проблемам P2P, используя выделенный сервер, который направляет трафик UDP для нужного клиента. Но даже тогда; Все клиенты должны сначала отправить сообщение на сервер, прежде чем клиент будет известен. Сервер должен сохранить IP -адрес и порт.