java如何解析C编写发送的下列格式的udp数据包
最近做一个实时信息系统项目,DCS系统通过TCP/IP协议的UDP广播方式发送数据包,广播周期3秒。
数据包格式:
{
数据包标识(char*3) //"MIS"标识,char类型1个字节
源节点号(char*4) //发送方IP地址,char类型1个字节
数据点类型(short int) //值为0~8,分别代表AI、RT... ,short int类型2个字节
数据区长度(short int) //数据点长度*数据点数short int类型2个字节
数据点数(short int) //本数据包数据点个数short int类型2个字节
数据区(根据数据点类型,每个数据点长度×数据点数)
}
已经可以获取数据包,定义byte[] buf = new byte[512];存储数据包,byte数组转换成字符串显示,System.out.println(new String(buf)):
MISddd ?????????????????????????????????????????????????????????
显示每个字节前13个字节内容如下:77 73 83 100 100 100 0 0 0 -14 1 83 0
java int型占4个字节,把其中short int转换int数值不正确,还有负数不可能出现,求高手解答。