Я пытаюсь сделать простой клиент DHCP. Он должен отправить сообщение на сервер DHCP (уже есть), получить сообщение обратно и проанализировать его. Я создалDHCP over UDP отправка вопроса
-структуруstruct dhcp_msg{
_int8 op; //opcode
_int8 htype; //hardware type
_int8 haddr; //hardware adress
_int8 hops; //hop count
_int32 tid; //transaction id
_int16 sec; //seconds
_int16 unused; //unused
_int32 cipaddr; //client ip
_int32 yipaddr; //your ip
_int32 sipaddr; //server ip
_int32 gipaddr; //gateway ip
char chaddr[16]; //client hardware address
char sname[64]; //server name
char bname[128]; //boot file name
_int8 mcookie[4]; //magic cookie
};
Если я заполнить все поля по данным, как отправить это с SendTo()? Должен ли я разобрать его на char и отправить указатель, поскольку sendto() запрашивает указатель в качестве второго параметра.
char *buffer;
...?
sendto(socketC, buffer, sizeof(buffer), 0, (SOCKADDR *)&servAddr, sizeof(sockaddr_in));
Как отправить сообщение?
Почему приведение типов в 'void *'? – ulidtko
из-за http://linux.die.net/man/2/sendto – Elalfer
@Elalfer: нет необходимости бросать в void *; преобразование неявно. –