0

UNIX DOMAIN SOCKETS を使用して、小さなクライアント サーバー アプリケーションを作成しようとしています。

/に を使用してmsghdrいますが、次のコードをコンパイルすると、次のエラーが発生します。sendmsgrecvmsg

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 sc -os -lsocket

sc: 関数 `main' 内:

sc:59: エラー: 構造体には「msg_control」という名前のメンバーがありません

sc:60: エラー: 構造体には「msg_controllen」という名前のメンバーがありません

sc:61: エラー: 構造体には「msg_flags」という名前のメンバーがありません

*エラーコード 1

4

2 に答える 2