【发布时间】:2014-03-29 04:27:46
【问题描述】:
我想发送一个UDP数据包,结构如下
- 数据包大小为 8 个字节
- uint16数据类型的头域
- uint16 数据类型的命令字段
- uint32 数据类型的数字字段
我按照以下方式设计了数据包:
ushort header = (ushort)IPAddress.HostToNetworkOrder(0x0001);
ushort command = (ushort)IPAddress.HostToNetworkOrder(10);
uint number = (uint)IPAddress.HostToNetworkOrder(2);
byte[] requestPacket = new byte[8];
requestPacket[0] = (byte)(header >> 8 & 0xFF);
requestPacket[1] = (byte)(header & 0xFF);
requestPacket[2] = (byte)(command >> 8 & 0xFF);
requestPacket[3] = (byte)(command & 0xFF);
requestPacket[4] = (byte)(number >> 24 & 0xFF);
requestPacket[5] = (byte)(number >> 16 & 0xFF);
requestPacket[6] = (byte)(number >> 8 & 0xFF);
requestPacket[7] = (byte)(number & 0xFF);
是否有更好的方法来做上述相同的事情?
【问题讨论】: