首页 / PHP / ngx_listening_s
ngx_listening_s
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ngx_listening_s,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2146字,纯文字阅读大概需要4分钟。
内容图文
![ngx_listening_s](/upload/InfoBanner/zyjiaocheng/155/676d8753ce164b7594385ffbcd62b3c5.jpg)
这个结构体在Nginx中用来监听一个端口。位于“Nginx包/src/core/ngx_connection.h”下。
typedefstruct ngx_listening_s ngx_listening_t;
struct ngx_listening_s {
//socket套接字句柄
ngx_socket_t fd;
//监听sockaddr地址struct sockaddr *sockaddr;
//sockaddr地址长度
socklen_t socklen;
/* 存储IP地址的字符串addr_text最大长度,即指定了addr_text所分配的内存大小 */
size_t addr_text_max_len;
//以字符串形式储存IP地址
ngx_str_t addr_text;
//套接字类型int type;
/* TCP实现监听时的backlog队列,它表示允许正在通过三次握手建立连接但还未任何进程开始处理连接的最大数 */int backlog;
//内核中对于这个套接字的接收缓冲区大小int rcvbuf;
//内核中对这个套接字的发送缓冲区大小int sndbuf;
//新的TCP连接成功后的处理方法
ngx_connection_handler_pt handler;
/* 保存当前监听端口对应的所有主机名 */void *servers;
//log和logp都是可用日志对象指针
ngx_log_t log;
ngx_log_t *logp;
//为新的TCP连接创建内存池的大小
size_t pool_size;
//TCP连接建立后,在post_accept_timeout秒之后仍然没有收到用户数据,则内核直接丢弃连接
ngx_msec_t post_accept_timeout;
//指向前一个ngx_listening_t结构
ngx_listening_t *previous;
//当前监听句柄对应着的ngx_connection_t结构体
ngx_connection_t *connection;
//1:当前监听句柄有效;0:正常关闭unsigned open:1;
//1:用已有的ngx_cycle_t来初始化ngx_cycle_t结构体时,不关闭监听端口,对于运行中升级有用unsigned remain:1;
//1:跳过设置当前ngx_listening_t结构体中的套接字;0:正常初始化unsigned ignore:1;
//表示是否以绑定unsigned bound:1;
//1:当前监听句柄来自前一个进程unsigned inherited:1;
//未使用unsigned nonblocking_accept:1;
//1:已开始监听unsigned listen:1;
//表示是否阻塞unsigned nonblocking:1;
//无意义unsigned share:1;
//1:Nginx将网络地址转变为字符串形式的地址unsigned addr_ntop:1;
};
//在监听端口上成功建立新的TCP连接后,回调handler方法typedefvoid (*ngx_connection_handler_pt)(ngx_connection_t *c);
版权声明:Pain is just in your mind.
以上就介绍了ngx_listening_s,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的ngx_listening_s全部内容,希望文章能够帮你解决ngx_listening_s所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。