как сделать литье в htons и ntohs? - PullRequest
0 голосов
/ 20 июня 2020

Мне нужно использовать две функции для преобразования данных передачи между клиентом и сервером, проблема в том, что буфер данных обязательно должен быть uint8_t, но ntohs и htons хотят uint16_t, иначе они не работают; поэтому мне нужно перенести данные в uint16_t и преобразовать их обратно в uint8_t. но данные, преобразованные и перенесенные в uint8_t, равны нулю, то есть «0». где я не прав? код:

1 Ответ

0 голосов
/ 20 июня 2020

Вам не нужно использовать функции htons или ntohs для переменной uint8_t, поскольку это всего лишь один байт. Вы htons / ntohs для uint16_t переменных и htonl / ntohl для uint32_t переменных.

Отметьте ссылку , это может вам помочь.

...