繁体   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