我想發送一個十六進制字符串到TCP套接字。我對這個字符串的格式或轉換有一些問題,因爲我不太確定它使用的格式是什麼。C#發送十六進制字符串到TCP套接字
我寫了一個Windows Phone應用程序,它基於Socket類正常工作。 這個應用程序模擬請求,通常是從桌面程序發送到託管web服務的設備。
通過wireshark,我發現,web服務將接受輸入流(認爲它在十六進制),並返回第二。十六進制流包含我需要的數據。
所以桌面應用正在發送流 和Wireshark顯示了當:
數據(8個字節) 數據:62ff03fff00574600 長度:8
現在,我已經嘗試了很多重現此流。我想,它曾經是一個UTF8字符串,並將此流轉換爲此格式。但每次我發送它,在Wireshark中看到以下輸出:62c3bf03c3bf00574600
據我調查62 = b,但ff始終發送c3bf。
有人知道如何以正確的格式發送此流嗎?
乾杯, 喬
您能否展示一些代碼表示法,說明您將如何發送數據以及如何獲取響應以及應該如何輸出數據? – Rezoan
這裏的代碼與M $樣本幾乎完全相同。[鏈接](http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202858(v = vs.105).aspx) – user2828101
數據發送後,從十六進制轉換爲字符串過去是類似的東西字符串:bÿÿ所以,格式化工作。然後我做... result = client.Send(sendString); sendString是bÿÿ。該示例中的send方法然後從字符串到有效載荷的副本轉換,其中有效載荷是字節數組(byte [] payload = Encoding.UTF8.GetBytes(data))。這將通過套接字連接發送到設備。但是,問題是,當我在wireshark中解析數據時,這些0x00ff不會轉換爲ÿ,而是轉換爲c3bf。任何想法? – user2828101