也许任何人都可以帮助我解决这个问题。我有一个 UDP-Sender 控制台应用程序,它应该将 udp 包发送到使用 unity 2019.3.4 制作的 HoloLens2 的 UWP 应用程序。在 Unity 编辑器中运行时,应用程序会正确接收从控制台应用程序发送的所有包。但是,如果我使用 Visual Studio 构建解决方案并在 Hololens Emulator (V. 10.0.18362....) 上成功部署,则应用程序不会收到任何数据。早些时候,当我通过 USB 将 Hololens2 与我的计算机连接时,在 HoloLens2 设备上运行的应用程序正确接收了数据,但目前我不得不使用模拟器。一切都必须在我的本地网络中运行,而无需访问互联网。有没有办法通过 localhost 建立与模拟器的 udp 连接?
3 回答
控制台应用程序和模拟器是否在同一台 PC 上运行?模拟器在 NAT 后面运行,因此默认情况下它无法看到来自网络上其他设备的流量。但是,您可以添加端口映射以允许选择流量进入模拟器。有关详细信息,请参阅https://docs.microsoft.com/en-us/windows/mixed-reality/using-the-hololens-emulator#nat-configuration-tab。
我终于想通了可能是什么问题。我使用数据报套接字来建立应用程序和模拟器项目之间的连接。在 Microsoft 文档以及这个统一问题中,他们提到 Datagram-Sockets 无法建立与 localHost 的连接。由于我可以成功绑定我的套接字并且只是不接收数据,我想这就是问题所在。我将尝试改用 UWP 共享合约。
https://docs.microsoft.com/en-us/windows/uwp/networking/sockets https://forum.unity.com/threads/uwp-for-wmr-datagramsocket-not-receiving-udp-data.586147 /
我不确定它是否会有所帮助,但本月发布了一个新的模拟器。如果您的 HoloLens 2 当前已更新,则它与当前的 HoloLens 操作系统匹配。 https://docs.microsoft.com/windows/mixed-reality/using-the-hololens-emulator#installing-the-hololens-emulator 这将改为版本 10.0.19041 ...