基本上我的代码只是在需要它时才捕获部分UDP协议数据包。
UdpClient listener = new UdpClient(43965);
IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 43965);
long count = 0;
while(1 == 1)
{
if (listener.Available > 0)
{
byte[] data = listener.Receive(ref endpoint);
Console.WriteLine(Encoding.ASCII.GetString(data));
}
}
我得到(突出显示):
我应该得到:
答案 0 :(得分:1)
正如Visual Vincent所说,“MICS”之后是0x10然后是0x00,所以如果你将数据包的那部分视为以空字符结尾的字符串,那就是“MICS \ x10”。
正如您所发现的,您必须查看原始字节以查找其后的数据。
之前的数据是UDP标头,IP标头和以太网标头。从UDP套接字读取时,您不会获得这些标头,只需获得UDP有效负载。