[记录]Hololens之Socket网络通信

我用HoloLens开发网络模块时,最初的做法是用.Net的System.Net.Scoekt中的UDP,想必这个方法是大多数开发者直接想到的方法。但是在导出时就出问题了,导出为UWP时,报错,大致是Socket库里缺少某个方法,还有我当时用的同步方法,所以自己写的的多线程,然后多线程也报错了:Thread库里缺少某个方法。

在一番折腾之后,终于找到解决方法:socket中的某些方法是可用的,Socket.SentToAsync();  Socket.ReciveFromAsync();

大概六七个方法的样子,都是异步的,方法名都是上述  “描述词语”+Async 这种格式的,除此之外,所有的其他的发送/接收/连接/等待链接方法都是在UWP不能用的。

下面是其他经验:

1.由于Unity 2017之前的版本是只支持.net 2.0的,2017以后的版本支持.net 4.6,所以我从unity5.6的开发环境,更换到unity2017的开发环境(期间遇到一些打包的恶心问题,搞了两天),但是更换到unity2017的开发环境后还是出现socket库里未定义方法的报错。

2.有两个Dll,可以解决UWP应用不能使用某些system.Socekt方法的问题,这两个dll在山谷大叔的博客里找到qq群,群文件里有,但是这个我没有用过。

3.Unet,也就是UnityNetWorking,这个也是可以发布到UWP的,但是这个开销比较高,而且封装的太死了,我没有考虑这个。

4.Windows.NetWorking,这个库也是可以的,但是做起来要用宏定义判断平台,调试起来比较麻烦

总结一下:如果你用hoolens开发网络模块,我建议用Windows.NetWorking或System.Net.Socket中的异步方法,

希望能帮到你~~

11.19日,我将Hololen适合的socket整理出来,放在我的另一片博客中

https://blog.csdn.net/Roadlun/article/details/84141712

猜你喜欢

转载自blog.csdn.net/Roadlun/article/details/82759223