NIO框架之MINA源码解析
Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API。
chaofanwei
这个作者很懒,什么都没留下…
展开
-
NIO框架之MINA源码解析(五):NIO超级陷阱和使用同步IO与MINA通信
1、NIO超级陷阱之所以说NIO超级陷阱,就是因为我在本系列开头的那句话,因为使用缺陷导致客户业务系统瘫痪。当然,我对这个问题进行了很深的追踪,包括对MINA源码的深入了解,但其实之所以会出现这个问题,它的根不是MINA的原因,而是JDK底层的问题原创 2014-09-15 07:56:07 · 5518 阅读 · 1 评论 -
NIO框架之MINA源码解析(四):粘包与断包处理及编码与解码
1、粘包与段包指TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。造成的可能原因: 发送端需要等缓冲区满才发送出去,造成粘包 接收方不及时接收缓冲区的包,造成多个包接收原创 2014-09-11 08:27:56 · 7716 阅读 · 7 评论 -
NIO框架之MINA源码解析(三):底层通信与责任链模式应用
本文主要介绍下在mina中责任链模式的应用以及mina对于数据读写的处理。在mina中,对数据的读操作是在processor类里面触发的,收到新消息后就触发读数据链去处理新消息直到自己的业务逻辑代码(IoHandler)。在mina中,数据的写(write)和发(send)差别相对较大,mina中的写消息最终的结果只是把要写的消息经过写数据链处理后的最终结果放在了一个缓存中,并把当前session原创 2014-09-10 08:11:06 · 5640 阅读 · 2 评论 -
NIO框架之MINA源码解析(二):mina核心引擎
MINA的底层还是利用了jdk提供了nio功能,mina只是对nio进行封装,包括MINA用的线程池都是jdk直接提供的。MINA的server端主要有accept、processor、session三部分组成的。其中accept主要负责在指定的端口监听,若有新连接则建立一个新的session;processor则负责处理session对应的发送数据和接收数据并调用上层处理;session则缓存当原创 2014-09-03 08:42:13 · 7377 阅读 · 1 评论 -
NIO框架之MINA源码解析(一):背景
“你们的agent占了好多系统的端口,把我们的很多业务系统都给整死了,给我们造成了很大的损失,要求你们的相关领导下周过来道歉”--来自我们的一个客户。 怎么可能呢,我们都不相信,我们的agent只占一个端口啊!事实胜过雄辩,经过查证,确实是由于我们的agent占了好多系统的端口,我看了一下日志,基本把系统可用的端口占完了!为什么呢?MINA框架私自开的!由于我们的agent端使用了NIO通信框原创 2014-09-01 08:24:22 · 7236 阅读 · 2 评论