MINA
yadonglee
这个作者很懒,什么都没留下…
展开
-
TCP 状态转移要点
TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得注意的状态有两个:CLOSE_WAIT和TIME_WAIT。 1、LISTENING状态 FT...原创 2009-10-12 16:31:37 · 152 阅读 · 0 评论 -
如何彻底关闭MINA客户端
在使用MINA做客户端程序时,发现虽然调用了session.close()方法,通过日志也确实看到当前session已经被关闭了,但未什么客户端程序进程却没有停止呢?即MINA客户端没有根本的关闭。这个现象在版本1和2中都存在。这是MINA的bug吗???其实不然... 我们可以启动2个服务器端,然后用同一个connector实例来连接这2台服务器,通过结果可以发现2个连接是相互...原创 2009-10-12 16:37:56 · 410 阅读 · 0 评论 -
源码解读 --- ConnectionThrottleFilter
名称:连接控制过滤器 功能说明 主要用来控制同一地址的客户端在一定时间内不能重复连接。默认时间间隔为1秒,即1秒内同一IP不能重复连接。 使用方法通过构造函数传入时间间隔,单位毫秒 ...原创 2009-10-12 16:46:20 · 66 阅读 · 0 评论 -
java通讯框架介绍
Java通讯框架,有时也被称为网络服务器,其实就是封装IO操作,并提供更高级的API接口。目前比较流行的框架就是:MINA、Cindy、QuickServer等。前段时间为了缩短开发时间,也在项目中加入了这些框架,从最开始使用QuickServer 1.4.7出现的报文接收不全异常;到用Cindy 2.4.4作为临时过渡,到最后确定使用MINA 1.0.1,也经历了一个艰辛而痛苦的时期。下面是整理...原创 2009-10-12 16:52:09 · 139 阅读 · 0 评论 -
解读源码
源码解读 --- BlacklistFilter 顾名思义,黑名单过滤器,传入类型为InetAddress,被加入过滤器的地址发送接收消息都将被阻止 -----LoggingFilter 记录所有MINA的协议事件,所有的事件可按用户指定的需求设定日志级别。 默认情况下所有事件的日志级别为INFO,exceptionCaught为WARN 由于该过滤器只是实现了...原创 2009-10-12 16:55:48 · 121 阅读 · 0 评论 -
用mina开发中遇到的问题
Socket服务器在启动是检测到端口被绑定的话会抛出java.net.BindException:Address already in use: JVM_Bind;而MINA不会 客户端在调用connect方法时,如果连接主机或端口失败,并不会抛出任何异常,跟踪MINA源码可知,实际调用的是AbstractPollingIoConnector类的connect0方法,该方法在发生连接异常时创建...原创 2009-10-12 16:59:07 · 258 阅读 · 0 评论 -
读mina源码
多好的文档也不如源码来的直接。如果自己的程序对于某种技术过于依赖,有时候仅看那么几页的文档,总是感觉放心不下。还是看看源码,多多理解内部的实现机制为好。 一 读源码时,首先要弄清楚代码所涉及到的重要模型及其之间的关系,从整体架构方面理解其组成。 1.对于IOService的实现NioSocketConnector和NioSocketAcceptor来说,都持有selector的引...原创 2009-10-12 17:21:04 · 84 阅读 · 0 评论