lwIP(V1.0.0) RAW API函数源码分析4----tcp_accept()函数
2011-09-10 16:53
465 查看
位于: 位于:lwip-x.x.x/src/core/tcp.c
原型: void tcp_accept(struct tcp_pcb *pcb,
err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err))
功能: 指定处于监听状态的连接接通后将要调用的回调函数
函数源码:
分析:将用户编写的一个函数的指针赋给处于监听状态tcp_pcb结构体中的一个参数,当处于监听状态的连接接通后,这个函数会被调用.虽然lwIP为应用嵌入式系统做了大量的精简工作,但结构体tcp_pcb还是一个庞大而复杂的数据结构,为了便于理解lwIP,对这个结构体下一番功夫还是很有必要的.
原型: void tcp_accept(struct tcp_pcb *pcb,
err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err))
功能: 指定处于监听状态的连接接通后将要调用的回调函数
函数源码:
/** * Used for specifying the function that should be called when a * LISTENing connection has been connected to another host. *处于监听状态的连接接通后,指定的函数被调用. * @param pcb tcp_pcb to set the accept callback * @param accept callback function to call for this pcb when LISTENing * connection has been connected to another host */ void tcp_accept(struct tcp_pcb *pcb, err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err)) { ((struct tcp_pcb_listen *)pcb)->accept = accept; }
分析:将用户编写的一个函数的指针赋给处于监听状态tcp_pcb结构体中的一个参数,当处于监听状态的连接接通后,这个函数会被调用.虽然lwIP为应用嵌入式系统做了大量的精简工作,但结构体tcp_pcb还是一个庞大而复杂的数据结构,为了便于理解lwIP,对这个结构体下一番功夫还是很有必要的.
相关文章推荐
- LwIP(V1.0.0) RAW API函数源码分析1----tcp_new()函数
- lwIP(V1.0.0) RAW API函数源码分析2----tcp_bind()函数
- lwIP(V1.3.0) RAW API函数源码分析4----tcp_accept()函数
- lwIP(V1.0.0) RAW API函数源码分析3----tcp_listen()函数
- lwIP(V1.3.0) RAW API函数源码分析3----tcp_listen()函数
- lwIP(V1.3.0) RAW API函数源码分析2----tcp_bind()函数
- lwIP(V1.3.0) RAW API函数源码分析1----tcp_new()函数
- 如何在tcp源码中分析丢包,加入自己的函数
- lwip源码分析6——tcp层
- TCP/IP源码学习(58)——inet_select_addr函数分析
- LwIP tcp/ip socket编程listen函数分析
- LwIP tcp/ip socket编程listen函数分析
- Redis源码分析系列十:acceptTcpHandler
- wordpress源码分析: query_posts()函数 (wordpress日志调用)
- HBase1.0.0源码分析之请求处理流程分析以Put操作为例(二)
- Muduo网络库源码分析(六)TcpConnection 的生存期管理
- 第二人生的源码分析(二十二)调用OpenGL显示人物名称的函数
- ffmpeg源码分析:transcode_init()函数
- 从Spark-Shell到SparkContext的函数调用路径过程分析(源码)
- underscore.js 源码分析5 基础函数和each函数的使用