APR连接器的思路和bio,nio的整体架构也是类似的,可以看到下面的整体框图:第一个区别是,对于从Acceptor线程中的socket解析这块,无论是nio还是bio都是在Acceptor线程内直接阻塞执行的,对于APR通道,搞出一个SocketWithOptions的线程,专门执行这个socke... ...
分类:
其他好文 时间:
2016-04-20 17:43:56
阅读次数:
387
首先,我们先提一下对Socket的封装(不复杂,所以简单说一下)。
Endian.h : 封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。
SocketsOps.h/ SocketsOps.cc :封装了socket相关系统调用。
Socket.h/Socket.cc(Socket类): 用RAII方法封装socket file descrip...
分类:
其他好文 时间:
2016-04-16 02:03:15
阅读次数:
216
本篇文章主要剖析Mina中的过滤器是如何实现的
首先还是引入一个简单的完整的server端的例子,代码如下
public class Server {
public static void main(String[] args) {
IoAcceptor acceptor = new NioSocketAcceptor();
acceptor.getSessionConfig().s...
分类:
其他好文 时间:
2016-04-09 07:02:52
阅读次数:
366
EndPoint提供基础的网络IO服务,用来实现网络连接和控制,它是服务器对外I/O操作的接入点。主要任务是管理对外的socket连接,同时将建立好的socket连接交到合适的工作线程中去。里面两个主要的属性类是Acceptor和Poller、SocketProcessor Acceptor类实现了
分类:
其他好文 时间:
2016-03-13 17:28:33
阅读次数:
183
声明:源码版本为Tomcat 6.0.35前面的文章中介绍了Tomcat初始化的过程,本文将会介绍Tomcat对HTTP请求的处理的整体流程,更细节的。在上一篇文章中,介绍到JIoEndpoint 中的内部类Acceptor用来接受Socket请求,并调用processSocket方法来进行请求的处...
分类:
Web程序 时间:
2015-10-28 14:28:20
阅读次数:
634
一般堵塞IO服务器通信,通常有一个单独的Acceptor线程负责监控client联系,它接收client对于每个请求连接后client分配用于处理一个新的线程,处理后。返回应答给client。线程才销毁。 来看一下堵塞IOserver的代码: server启动类package com.bio.de....
分类:
其他好文 时间:
2015-09-25 20:07:08
阅读次数:
127
JafkaAcceptor接受client而建立后的连接请求,Acceptor会将Socket连接交给Processor进行处理。Processor通过下面的处理步骤进行client请求的处理:1.读取client请求。2.依据client请求类型的不同,调用对应的处理函数进行处理。Processo...
分类:
其他好文 时间:
2015-09-19 22:29:28
阅读次数:
340
我们在Tomcat启动过程(Tomcat源代码阅读系列之三)一文中已经知道Tomcat启动以后,会启动6条线程,他们分别如下:
"ajp-bio-8009-AsyncTimeout" daemon prio=5 tid=7f8738afe000 nid=0x115ad6000 waiting on condition [115ad5000]
"ajp-bio-8009-Acceptor-0" ...
分类:
其他好文 时间:
2015-08-10 22:18:29
阅读次数:
217
muduo网络库中,Acceptor类和TcpServer类。Acceptor包含在TcpServer中,TcpServer相当于main reactor,其中封装了EventLoopThreadPool(相当于sub reactor)。...
分类:
其他好文 时间:
2015-08-08 22:54:46
阅读次数:
318
Apache Mina 中关于线程模型的关键源代码:
在创建 NioSocketAcceptor acceptor = new NioSocketAcceptor(); 时刻,
创建一个SimpleIoProcessorPool 线程池,该线程池最小数量为1个,
默认数量为
/** The default pool size, when no size is prov...
分类:
编程语言 时间:
2015-07-12 09:48:35
阅读次数:
221