该库的建立是因为与.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地址和端口。