Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过C中的套接字将数据发送到Java服务器_C_Sockets_Encode_Asn.1 - Fatal编程技术网

通过C中的套接字将数据发送到Java服务器

通过C中的套接字将数据发送到Java服务器,c,sockets,encode,asn.1,C,Sockets,Encode,Asn.1,我想在C客户机中编码数据并将其发送到Java服务器 #define BUFFERSIZE 100 INTEGER_t clientNumber; printf("Enter a number :\n "); scanf("int *",&clientNumber); Message01_t *message1; message1 = calloc(1, sizeof(Message01_t)); message1->number = clientNumber; char

我想在C客户机中编码数据并将其发送到Java服务器

#define BUFFERSIZE  100


INTEGER_t clientNumber;
printf("Enter a number :\n  "); 
scanf("int *",&clientNumber);
Message01_t *message1;
message1 = calloc(1, sizeof(Message01_t));
message1->number = clientNumber;
char    buffer[BUFFERSIZE];
size_t  bufferLen = sizeof(buffer); 
der_encode_to_buffer(&asn_DEF_Message01, message1, buffer, bufferLen);
xer_fprint(stdout, &asn_DEF_Message01, message1); 
send( to_server_socket, &message1, sizeof( message1 ), 0 )
作为输出xer\u fprint显示给我

<Message01>
    <number>1D:00:00:00:10:00:00:00:00:80:04:00:00:1A:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00...... A VERYYYY LONGGG SEQUENCE OF BYTES....

1D:00:00:00:10:00:00:00:80:04:00:00:00:00:1A:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00。。。。。。一个非常长的字节序列。。。。
在服务器中

在解码过程中,字节数组中编码的标记值与此对象的标记号不匹配


有很多代码我们看不到,特别是
Message01\u t
的结构。要成功地将数据发送到Java服务器,您需要知道Java服务器需要什么。它如何知道消息的类型?编码标签值和标签号的规则是什么?Java服务器需要什么协议?我认为在你得到任何有用的答案之前,你需要在许多方面澄清你的问题。它还可能有助于识别您正在使用的ASN库。您的scanf格式字符串错误。。。检查一下剩下的。