LwIP之套接字接口「终于解决」

LwIP之套接字接口「终于解决」/*套接字结构体*/structlwip_sock{/*API连接指针*/structnetconn*conn;/*前一次读剩下的数据*/void*lastdata;/*前一次读数据的偏移量*/u16_tlastoffset;/*接收数据的次数*/s16_trcvevent;/*发送成功的次数*/…

大家好,欢迎来到IT知识分享网。

/* 套接字结构体 */
struct lwip_sock 
{
  /* API连接指针 */
  struct netconn *conn;
  /* 前一次读剩下的数据 */
  void *lastdata;
  /* 前一次读数据的偏移量 */
  u16_t lastoffset;
  /* 接收数据的次数 */
  s16_t rcvevent;
  /* 发送成功的次数 */
  u16_t sendevent;
  /* 错误发生次数 */
  u16_t errevent; 
  /* 最近发生的错误 */
  int err;
  /* 所有select描述符个数 */
  int select_waiting;
};

/* select控制块 */
struct lwip_select_cb 
{
  /* 用于将所有控制块连接起来 */
  struct lwip_select_cb *next;
  struct lwip_select_cb *prev;
  /* 读描述符集合 */
  fd_set *readset;
  /* 写描述符集合 */
  fd_set *writeset;
  /* 异常描述符集合 */
  fd_set *exceptset;
  /* 触发事件设1 */
  int sem_signalled;
  /* 信号量 */
  sys_sem_t sem;
};

/* 套接字属性数据 */
struct lwip_setgetsockopt_data
{
	/* 所属套接字 */
  struct lwip_sock *sock;
  int level;					//层
  int optname;				//选项名字
  void *optval;				//数据
  socklen_t *optlen;	//数据长度
  err_t err;
};

/* 套接字数组 */
static struct lwip_sock sockets[NUM_SOCKETS];
/* select链表 */
static struct lwip_select_cb *select_cb_list;
/* 链表发生改变时就加一 */
static

IT知识分享网

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/13047.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信