xiaoshimimi 发表于 2005-7-6 21:28:35

关于struct msghdr结构体中的一些问题

struct msghdr{
                void *msg_name;/*Socket name*/套接字名
                int msg_namelen;/*Length of name*/套接字名字长度
                struct iovec *msg_iov;/*Data blocks/数据块
                __kernel_size_t msg_iovlen;/*Number of blocks*/数据块大小?????????
                void *msg_control;/*Per protocol magic(cg BSD file descriptor passing)*/???????????????????
                __kernel_size_t msg_controllen;/*Length of cmsg list*/msg_control的长度.
                unsigned msg_flags;???????????
};

三个标问号的地方是我有疑问的地方:
第一个msg_iolen:是数据块儿大小还是数据块数量还是数据块号?
第二个msg_control:是什么作用?
第三个msg_flags:这个flag是什么标志?


多谢指教!!!

_z_ 发表于 2005-7-7 11:59:47

1,blocks个数。
2,man recvmsg可以看到msg_control的含义。
3,MSG_XXX:收发包用的标记。具体的在include/linux/socket.h

xiaoshimimi 发表于 2005-7-7 16:25:09

多谢:)
页: [1]
查看完整版本: 关于struct msghdr结构体中的一些问题