簡體   English   中英

桌面應用程序和UWP應用程序之間的連接中的數據格式

[英]data format in connection betwen desktop app and UWP application

我在桌面應用程序(c#)和HoloLens(UWP)之間創建了客戶端服務器服務。 服務器在HoloLens上運行,而PC App是客戶端。

我在傳輸數據時遇到一些問題,這是我的問題。

雖然UWP服務器使用Windows.Netowrking和Windows.Networking.Sockets,但它似乎以字符串形式接收和發送數據。 PC App使用System.Net和System.Net.Sockets,並且在發送字符串之前,它需要將字符串轉換為字節格式。

這會是一個問題嗎? 我找不到太多有關Windows.Networking的文檔,而且我也不知道發送之前的數據是否仍轉換為字節。

我不知道發送之前的數據是否仍轉換為字節

使用網絡API調用Write()或Send()時,通常可以選擇提供多種數據類型,無論是字符串,字節[]還是整數-但這並不影響數據的物理方式傳輸。

在內部,傳輸將以有效的方式(以二進制流的形式)“序列化”,但是您無需關心這些細節。

因為另一端將能夠以byte []或int []或字符串的形式處理該數據。

您可能要研究的一個常見問題是字節序 ,或檢查如何將字符串更改為byte []。 例如,問題是您在字符串之間或在不同的byte []等之間錯誤地進行了更改。 您可以讀入System.Text.Encoding來檢查是否在byte []和字符串之間正確移動。

//Turn a string into a byte[], for your PC app to send
byte[] byteData = System.Text.Encoding.ASCII.GetBytes("Message");
//On the other end read that byte[] into ASCII characters
char[] charsData = System.Text.Encoding.ASCII.GetChars(byteData);
//Check you read something, and turn those chars into a string.
if (charsData != null && charsData.Length > 0)
    string stringData = new string(chars);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM