Получение данных от Java-клиента (данные содержат int, short, string)

Я часами искал ответ на свой вопрос, но ничего не нашел. Может быть, я получу некоторую помощь здесь.

Что я пытаюсь сделать: Java-клиент отправляет сообщение на C-сервер. Сообщение содержит различные типы, такие как integer, short, а также строку (например, message = int: total_msg_length; short: operation; строка: hello -> total_msg-length = 4 (размер целого числа), operation = 2 (размер короткого слова) , привет = 5 (каждая буква 1 байт = 5).

Итак, как я могу получить сообщение на моем сервере? Код ниже получает целое число (работает нормально). Следующим шагом будет получение короткого и затем строки (преобразованной в US-ASCII).

int *msg;
int recv_size;
int final_msg;

if( (recv_size = recv(client_socket, &msg, sizeof(msg), 0 )) < 0 ){
    error_exit("Fehler bei recv(message_len)");
}

final_msg = endian_swap(msg);
printf("Message: %d\n", final_msg);

return final_msg;

Есть ли способ использовать массив байтов вместо буфера символов? Я благодарен за любую помощь. Прошу прощения за мой плохой английский, я из Германии :-)

Ответы на вопрос(1)

Ваш ответ на вопрос