我是靠谱客的博主 标致向日葵,最近开发中收集的这篇文章主要介绍5-06 通讯代码精粹之epoll函数实战1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一:一个更正,一个注意

更正:kqueue
注意:即将进入最重要,最核心的内容讲解;
戒骄戒躁,代码精华。简单,容易理解;大家要认真学习老师给出来的代码;

二:配置文件的修改

增加worker_connections项

三:epoll函数实战

epoll_create(),epoll_ctl(),epoll_wait();系统提供的函数调用
(3.1)ngx_epoll_init函数内容
epoll_create():创建一个epoll对象,创建了一个红黑树,还创建了一个双向链表;

连接池: 数组,元素数量就是worker_connections【1024】,每个数组元素类型为 ngx_connection_t【结构】; ---结构数组;
 为什么要引入这个数组:  2个监听套接字, 用户连入进来,每个用户多出来一个套接字;
   把 套接字数字跟一块内存捆绑,达到的效果就是将来我通过这个套接字,就能够把这块内存拿出来;
ngx_get_connection()重要函数:从连接池中找空闲连接;
a)epoll_create()  *****************
b)连接池(找空闲连接)
c)ngx_epoll_add_event() ************
    epoll_ctl();
d)ev.data.ptr = (void *)( (uintptr_t)c | c-

最后

以上就是标致向日葵为你收集整理的5-06 通讯代码精粹之epoll函数实战1的全部内容,希望文章能够帮你解决5-06 通讯代码精粹之epoll函数实战1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部