1. 程式人生 > >Hololens之Socket網路通訊

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中的非同步方法,

希望能幫到你~~