你这消息头、消息体的结构格式都定下来了,总长度就是固定的啊?消息体的长度不是一共2+2+4+1=9个字节么?消息格式肯定要按照服务端的要求进行发送,明显服务端不是java的程序。。但是java里是没有Unsigned Integer这种数据类型的(java的stream操作里提供了一些unsigned的方法,或者自己写方法来生成对应的字节格式),你可以按照他的要求,使用字节数组封装好,然后发送。
针对这个示例消息,你可以:
创建一个长度为9的字节数组。把“9”变成byte放入前两个字节(前两个字节数据应该为:0x00, 0x09。这是第一个字段,长度),后面的字段数据以此类推。一个字段一个字段处理成服务器要求的格式。
然后把字节流发送给服务端。
问服务端要样例。