//服务器的被动连接
struct ngx_connection_s {
//连接未使用时候,data域充当连接链表中的next指针.
//当连接被使用时候,data域的意义由模块而定.
void *data;
//连接对应的读事件
ngx_event_t *read;
//连接对应的写事件
ngx_event_t *write;
//套接字句柄
ngx_socket_t fd;
//直接接收网络字节流的方法
ngx_recv_pt recv;
//直接放松网络字节流的方法
ngx_send_pt send;
//以ngx_chain链表为参数,接收网络字节流的方法
ngx_recv_chain_pt recv_chain;
//以ngx_chain链表为参数,发送网络字节流的方法
ngx_send_chain_pt send_chain;
//这个链接对应的listening_t监听对象.
//此链接由ngx_listening_t监听的事件建立
ngx_listening_t *listening;
//这个连接已经发送出去的字节数
off_t sent;
//记录日志
ngx_log_t *log;
//在accept一个新连接的时候,会创建一个内存池,而这个连接结束时候,会销毁一个内存池.
//这里所说的连接是成功建立的tcp连接.内存池的大小由pool_size决定
//所有的ngx_connect_t结构体都是预分配的
ngx_pool_t *pool;
//连接客户端的结构体
struct sockaddr *sockaddr;
//连接客户端的结构体长度
socklen_t socklen;
//连接客户端的ip(字符串形式)
ngx_connection_t结构体
最新推荐文章于 2024-02-06 17:00:17 发布
ngx_connection_t结构体是ngx_event_model模块的核心部分,它详细定义了连接对象的各种属性,如套接字句柄、事件、接收和发送方法、内存池、地址信息以及多种状态标志。结构体中的成员如recv和send用于网络数据的读写,pool表示连接相关的内存池,而addr_text存储了客户端的IP地址。此外,还包括SSL连接对象、连接状态标志(如idle、close、reusable)以及处理请求的相关计数。
摘要由CSDN通过智能技术生成