• struct msghdr 结构体


    struct msghdr 结构体
     
    struct iovec {                    /* Scatter/gather arrayitems */
          void *iov_base;              /*Starting address */
          size_t iov_len;               /* Number of bytes to transfer*/
      };
       /* iov_base: iov_base指向数据包缓冲区,即参数buff,iov_len是buff的长度。msghdr中允许一次传递多个buff,
         以数组的形式组织在 msg_iov中,msg_iovlen就记录数组的长度(即有多少个buff)
       */
      struct msghdr {
          void         *msg_name;       /* optional address */
          socklen_t     msg_namelen;    /* size of address */
          struct iovec *msg_iov;        /* scatter/gather array */
          size_t        msg_iovlen;     /* # elements in msg_iov */
          void         *msg_control;    /* ancillary data, see below */
          size_t        msg_controllen; /* ancillary databuffer len */
          int           msg_flags;      /* flags on received message */
      };
      /* msg_name:数据的目的地址,网络包指向sockaddr_in, netlink则指向sockaddr_nl;
         msg_namelen: msg_name 所代表的地址长度
         msg_iov: 指向的是缓冲区数组
         msg_iovlen: 缓冲区数组长度
         msg_control: 辅助数据,控制信息(发送任何的控制信息)
         msg_controllen: 辅助信息长度
         msg_flags: 消息标识
      */

  • 相关阅读:
    使用 SailingEase WinForm 框架构建复合式应用程序(插件式应用程序)
    SailingEase WinForm 应用程序开发框架
    SailingEase WinForm 框架 DEMO 下载
    SailingEase WinForm 开发框架
    .net动态编译
    VS2010 如何修改程序菜单字体大小?
    Android C++回收机制(转)
    遥测的死区
    发现个开源很好的C++框架库,共享一下
    mongodb查询例子
  • 原文地址:https://www.cnblogs.com/ruigelwang/p/13190511.html
Copyright © 2020-2023  润新知