簡體   English   中英

C#UDP套接字問題

[英]C# UDP socket problems

我正在嘗試將一些UDP數據包發送到服務器。 我使用Wireshark監視我的活動。 當我發送數據包時,wireshark告訴我我的報頭校驗和不正確。

Wireshark

在wireshark首選項中,選項“ 如果可能的話驗證UDP chechsum ”被禁用

this.socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
this.destination = new IPEndPoint(IPAddress.Parse("***.***.***.***"), 80);

this.socket.Connect(this.destination);
this.socket.Send(Encoding.ASCII.GetBytes("foo"));
this.socket.Shutdown(SocketShutdown.Both);
this.socket.Disconnect(true);

我忘了什么嗎? 我需要設置特定的選項嗎? 非常感謝幫助!

已知問題-注意“可能是IP Checksum卸載引起的”。 從Wireshark Wiki

大多數現代操作系統都支持某種形式的網絡卸載,其中某些網絡處理發生在NIC而不是CPU上。
[...]
在支持校驗和卸載的系統上,IP,TCP和UDP校驗和在通過網絡傳輸之前就在NIC上進行計算。 在Wireshark中,這些將顯示為以紅色標記為黑色的傳出數據包,文本和注釋[不正確,應為xxxx(可能由“ TCP校驗和卸載”引起)?)。

該頁面還列出了如何針對您的特定操作系統禁用此功能。

暫無
暫無

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

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