在C#中,我尝试使用此代码将udp数据包发送到设备:
private void UdpHex_Click(object sender, EventArgs e)
{
UdpClient udpClient = new UdpClient("192.168.0.100", 52381);
Byte[] sendBytes = new byte[] {0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x16, 0x81, 0x01, 0x04, 0x07, 0x24, 0xff};
try
{
udpClient.Send(sendBytes, sendBytes.Length);
}
catch (Exception)
{
Console.WriteLine(e.ToString());
}
}
我已经从发送准确数据的工作应用程序中复制了该数据。 即使数据完全相同,我的命令也不起作用。 我注意到的唯一区别是在“源端口”上。
这是工作程序发送的:
用户数据报协议,Src端口:52381,Dst端口:52381 源端口:52381 目的端口:52381 长度:22 校验和:0x820e [未验证] [校验和状态:未验证] [流索引:0] 数据(14字节) 数据:010000060000001a8101040724ff [长度:14]
这是我的程序发送的:
用户数据报协议,Src端口:63080,Dst端口:52381 源端口:63080 目的端口:52381 长度:22 校验和:0x820e [未验证] [校验和状态:未验证] [流索引:0] 数据(14字节) 数据:010000060000001a8101040724ff [长度:14]
唯一的区别是“ Src端口”。 我该如何更改?