我写了这个ASN.1描述
Demo-module DEFINITIONS ::= -- Module-name DEFINITIONS ::= BEGIN
BEGIN
ClientFirstRequest ::= SEQUENCE {
clientInt INTEGER
}
ServerFirstResponse ::= SEQUENCE {
serverInt INTEGER ,
serverString IA5String
}
ClientSecondRequest ::= SEQUENCE {
clientString IA5String
}
ServerSecondResponse ::= SEQUENCE {
serverResponse IA5String
}
END -- end of module, END required
我有一个代码将一个整数发送到服务器,它完美地运行
DataOutputStream dos = new DataOutputStream(_socket.getOutputStream());
dos.writeInt(4);
但我尝试使用ASN.1类,我遇到了问题,我尝试了以下代码,但是我在setValue方法中有错误
ClientFirstRequest h = new ClientFirstRequest();
h.setValue(4);
BerOutputStream bos = new BerOutputStream(_socket.getOutputStream());
h.encode(bos);
答案 0 :(得分:0)
这看起来像是一个问题,您应该询问您正在使用的ASN.1工具的供应商。每个ASN.1工具都有自己的方式从您的值转换到编码的字节流,即使所有ASN.1工具的结果字节流应该相同。您尚未指出正在使用的ASN.1工具。