Итак, я пытаюсь отправить сообщение клиенту с помощью функции sendto().Отправка структуры в функции sendto() - язык C
прототип Функция SendTo() заключается в следующем:
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
const struct sockaddr *dest_addr, socklen_t addrlen);
Но я хотел бы передать структуру в качестве второго аргумента. Возможно ли это сделать? Или buf должен быть строкой?
EDIT: Вы видите, что я должен быть в состоянии послать это:
«Сообщение состоит из„Header“, а затем„PAYLOAD“
Ваш заголовок сообщения должен состоять из следующих действий:.
uint8_t version; /* must be 1. If you receive anything else, discard*/
uint8_t ttl; /* must be 1. If you receive anything else, discard*/
uint16_t payload_length; /* bytes following the header */
uint32_t account_identifier; /* digits of your account name */
uint32_t source_address; /* unused for now, set to 0 and ignore. */
uint32_t destination_address; /* unused for now, set to 0 and ignore. */
uint16_t checksum; /* unused for now, set to 0 and ignore. */
uint16_t protocol; /* must be 1. If you receive anything else, discard*/"
И полезная нагрузка представляет собой текстовую строку, как «Hello» или что-то.
Я чувствую, что единственный способ для меня, чтобы послать заголовок будет отправить на структуру всего, что Информация. Правильно?
Я не буду работать в интероперабельности. Аппаратное обеспечение сервера одинаково. – umdcoder
Является ли структура с указателями действительной для отправки? – umdcoder
@umdcoder Нет, это не так. В целом отправные структуры - плохая идея. Не используйте структуры как сетевые протоколы. Используйте сетевые протоколы в качестве сетевых протоколов. – EJP