我需要通过TCP / socket连接到第三方系统并检索一些数据.
将要发送的数据格式为固定长度格式和二进制.
请求示例:
short MessageID = 5;
int TransactionTrace = 1;
基本上,我必须向第三方系统发送6个字节.十六进制数据:000500000001
我试图用Java执行以下操作,但是它不起作用.
>使用两个变量和正确的数据类型(messageID& transactionTrace)创建一个类
>将类序列化为字节数组
序列化返回太多字节.
有人可以帮忙吗?
谢谢.
Java类:
public final class MsgHeader implements Serializable {
public short MessageID;
public int TransactionTrace;
}
序列化:
MsgHeader header = new MsgHeader();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out = null;
try
{
out = new ObjectOutputStream(bos);
out.writeObject(header);
byte[] yourBytes = bos.toByteArray();
System.out.println("Hex Data : " + getHex(yourBytes));
}