本文共 613 字,大约阅读时间需要 2 分钟。
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.txteg测试:32\jmuduo\tests\Reactor_test07.cc
32\jmuduo\tests\CMakeLists.txt测试:
客户端用telnet测试转载地址:http://qmiws.baihongyu.com/