Java ASN.1模块说明
我尝试使用ASN.1进行客户机-服务器通信,但我不确定我是否正确理解它。客户端必须向服务器发送一个整数,服务器读取并发回一个数字和一个字符串,客户端读取并发回一个字符串,服务器读取并发回一个字符串。是这样的Java ASN.1模块说明,java,c,asn.1,Java,C,Asn.1,我尝试使用ASN.1进行客户机-服务器通信,但我不确定我是否正确理解它。客户端必须向服务器发送一个整数,服务器读取并发回一个数字和一个字符串,客户端读取并发回一个字符串,服务器读取并发回一个字符串。是这样的 Client ---> server 1 integer Server --> Client 1 integer Server --> Client 1 String Client ---> server 1 String Server --> Client
Client ---> server 1 integer
Server --> Client 1 integer
Server --> Client 1 String
Client ---> server 1 String
Server --> Client 1 String
clientInt INTEGER ,
我编写了以下ASN.1模块,我成功地用jac asn1生成了类,但我不确定模块的描述是否正确,因为这两个序列完全相同。我不确定是否必须只输入要发送或接收的变量,或者同时输入两者
clientInt INTEGER ,
客户端::=序列{
clientInt INTEGER ,
客户整数
clientInt INTEGER ,
serverInt整数
clientInt INTEGER ,
serverString位字符串
clientInt INTEGER ,
clientString位字符串,
服务器响应位字符串
clientInt INTEGER ,
}
clientInt INTEGER ,
服务器::=序列{
clientInt INTEGER ,
serverInt整数
clientInt INTEGER ,
serverString位字符串
clientInt INTEGER ,
clientString位字符串,
服务器响应位字符串
clientInt INTEGER ,
}
clientInt INTEGER ,
END--模块的末尾,END
必需的
clientInt INTEGER ,
是的,您的“服务器”和“客户端”类型是相同的。那么,为什么要定义两种类型来表示本质上相同的东西呢?还要注意,ASN.1没有定义协议;它定义了可以用作消息的类型。您必须决定您希望消息由什么组成,以及协议将如何使用它们。