博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(P32)muduo_base库源码分析:Acceptor
阅读量:4298 次
发布时间:2019-05-27

本文共 613 字,大约阅读时间需要 2 分钟。

文章目录

1.Acceptor

  • Acceptor用于accept(2)接受TCP连接

  • Acceptor的数据成员包括Socket、Channel,Acceptor的socket是listening socket(即server socket)。

    该流程要十分熟练:
    (1)Channel用于观察此socket的readable事件,Channel就处于活跃的状态,Poller::poll就能返回活跃的该Channel通道,并且调用Channel::handleEvent()对事件进行处理;
    (2)由于它是可读的事件,它又会调用handleRead()函数,该handleRead()函数注册到Accptor类中,因为他是基于对象编程思想,可以将handleRead()注册到Accptor类的成员函数中;
    (3)Accptor::handleRead()调用accept(2)来接受新连接,并通知用户回调用户callback(应用层的回调函数)。

  • eg:32\jmuduo\muduo\net\Acceptor.h

    32\jmuduo\muduo\net\Acceptor.cc
    32\jmuduo\muduo\net\CMakeLists.txt

  • eg测试:32\jmuduo\tests\Reactor_test07.cc

    32\jmuduo\tests\CMakeLists.txt

  • 测试:

    在这里插入图片描述
    客户端用telnet测试
    在这里插入图片描述

转载地址:http://qmiws.baihongyu.com/

你可能感兴趣的文章
Linux 系统挂载数据盘
查看>>
Git基础(三)--常见错误及解决方案
查看>>
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel 操作redis的各种数据类型
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>
浅析 Laravel 官方文档推荐的 Nginx 配置
查看>>
Swagger在Laravel项目中的使用
查看>>