Я пытаюсь написать небольшое клиент-серверное приложение, используя UNIX DOMAIN SOCKETS.
Я использую msghdr
для sendmsg
/recvmsg
, но когда я компилирую следующий код, это дает мне следующую ошибку:
include <sys/socket.h>
...
struct msghdr mh;
struct cmsghdr *cmp;
union{
struct cmsghdr cm;
char ctrl[sizeof(struct cmsghdr) + sizeof(int)];
} ctrlu;
...
mh.msg_name = NULL;
mh.msg_namelen = 0;
mh.msg_iov = iov;
mh.msg_iovlen = 1;
mh.msg_control = ctrlu.ctrl;
mh.msg_controllen = sizeof(ctrlu);
mh.msg_flags = 0;
Сообщение об ошибке:
gcc s.c -o s -lsocket
s.c: В функции `main':
s.c:59: ошибка: в структуре нет члена с именем `msg_control'
s.c:60: ошибка: в структуре нет члена с именем `msg_controllen'
s.c:61: ошибка: в структуре нет члена с именем `msg_flags'
* Код ошибки 1