Advertisement

学Muduo(三)

阅读量:

TCP Server实现

TCP Server负责处理由Acceptor类所接收的TCP连接
TCP Server在接收连接过程中的时序图

在这里插入图片描述

muduo框架在处理TcpConnection类的连接终止时,采取的是被动断开方式。具体而言,当远程端主动结束连接后,本地执行read(2)系统调用将返回0,从而触发相应的关闭机制。关于连接关闭的具体流程,其时序关系可通过如下图示进行说明。

在这里插入图片描述

在TcpConnection被从TcpServer中通过erase()方法移除后,若用户未持有该TcpConnection对象的shared_ptr指针,则其引用计数将变为1。这是由于Poller类中的Channel对象仍保留着指向该TcpConnection的weak_ptr指针,在调用Channel::handleEvent()方法时

全部评论 (0)

还没有任何评论哟~