Java 发送编码的ASN.1数据
我尝试对int进行编码并将其发送到java服务器。这是我在客户端的C代码Java 发送编码的ASN.1数据,java,c,asn.1,Java,C,Asn.1,我尝试对int进行编码并将其发送到java服务器。这是我在客户端的C代码 int clientNumber; printf("Enter a number :\n "); scanf("%d",&clientNumber); Message01_t *a; a->number = clientNumber; der_encode(&asn_DEF_Message01, a, 1, 0); if( send( to_se
int clientNumber;
printf("Enter a number :\n ");
scanf("%d",&clientNumber);
Message01_t *a;
a->number = clientNumber;
der_encode(&asn_DEF_Message01, a, 1, 0);
if( send( to_server_socket, &a, sizeof( a), 0 ) != sizeof( a ) )
{
printf( "socket write failed");
exit( -1 );
}
这是java代码
BerInputStream bin = receive(5);
Message01 msg01 = new Message01();
msg01.decode(bin);
printMessage(msg01);
但我总是在服务器上收到42号 DER编码和BER接收?这不是问题吗?@aGeneral我也有同样的疑问,但显然DER是BER的一个子集,并且它们是兼容的。如果你展示的是你的实际代码,那么它就有一个巨大的问题。您声明了Message01_t*a,但它没有被分配,因此->号是未定义的。除了int之外,结构还包含什么?