没有合适的资源?快使用搜索试试~ 我知道了~
Mina2.0完全剖析_完全自学手册【完整版】
4星 · 超过85%的资源 需积分: 5 19 下载量 27 浏览量
2014-02-13
15:19:27
上传
评论
收藏 738KB DOC 举报
温馨提示
Mina2.0完全剖析_完全自学手册【完整版】,详细的案例,希望对大家学习有帮助。
资源推荐
资源详情
资源评论
引言.....................................................................................................................................................3
一. Mina 入门...................................................................................................................................3
第一步.下载使用的 Jar 包.........................................................................................................3
第二步.工程创建配置................................................................................................................3
第三步.服务端程序....................................................................................................................4
第四步.客户端程序....................................................................................................................8
第五步.长连接 VS 短连接.......................................................................................................10
二. Mina 基础.................................................................................................................................11
1.IoService 接口........................................................................................................................12
2.1.1 类结构......................................................................................................................13
2.1.2 应用..........................................................................................................................14
2.IoFilter 接口...........................................................................................................................16
2.2.1 类结构......................................................................................................................16
2.2.2 应用..........................................................................................................................18
添加过滤器...............................................................................................................18
自定义编解码器.......................................................................................................20
制定协议的方法:...................................................................................................21
IoBuffer 常用方法:................................................................................................21
Demo1:模拟根据文本换行符编解码...................................................................22
Demo2:改进 Demo1 的代码.................................................................................24
Demo3:自定义协议编解码...................................................................................34
3.IoHandler 接口.......................................................................................................................54
三. Mina 实例.................................................................................................................................54
四. 其他..........................................................................................................................................55
2
引言
最近使用 开发一个 的 服务端程序,因此也特意学习了
的这个 框架。
首先, 是个什么东西?看下官方网站(!!"## $%#)
对它的解释:
的 ( &!&$ '$!$&!&$ !($) *
!)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的
网络应用程序;它提供了一个抽象的、事件驱动的异步 +,使 在各
种传输协议(如 ,-+#+,./+#+ 协议等)下快速高效开发。
也称为:
框架
客户端#服务端框架(典型的 -#0 架构)
网络套接字( !($)%) !)类库
总之:我们简单理解它是一个封装底层 操作,提供高级操作 + 的通讯
框架!
(本文所有内容仅针对 在 ,-+#+ 协议下的应用开发)
一. 入门
先用 做一个简单的应用程序。
第一步下载使用的 包
登录 !!"## $%#*(*! 下载 1,
解压获得 $ 2$
3 登录 !!"##((('2$%#*(*!下载 '21,解压获
得 '22$与 '2%22$
添加 4%2 的 2$ 包,注意如果使用 '2%25552$,就需要添加
%25。我这里使用的是 %22$(4%% $ 配置详情参见
!!"## $%#6$!! !)
7, 个 2$ 都完备了。
第二步工程创建配置
创 建 一 个 +$2 ! ( 默 认 使 用 .,89 编 码 格 式 ) , 添 加
%2$ $!
%2$!4%% $:/;<.=>>6
%2 * $:$% %2- * $
3
%2 * $?&!:$% %2+!! $4?&!
%2 * $?&!- $+!! $:@*A????**
BBC"C">000D@@@@@
%2 * $6 :$% %2E%8 * $
%2 * $6 8 :#%#* %
%2 * $6 8 01 :7<
%2 * $6 <)&* :
%2 * $6 ?&!:$% %2+!! $4?&!
%2 * $6 ?&!- $+!! $:FG0HF@*H@I@IF@!H@-
@J@4K@
第三步服务端程序
创建一个简单的服务端程序:J服务端绑定 端口K
/ 0 $ $A
4%% $logger:4%% $getLoggerJ/ 0 $ $KL
PORT:L
J0!$%FH$%KA
!$ !$:L
A
##创建一个非阻塞的 $ $端的0) !
!$:0) ! !$JKL
##设置过滤器(使用提供的文本换行符编解码器)
!$% !8! $-JK**4!J
M* M>
+$!-* 8! $J
, !4 -* 8!$?J-$ !
forNameJM.,89MK>
4 / ! $WINDOWS% !G& JK>
4 / ! $WINDOWS% !G& JKKKKL
##设置读取数据的缓冲区大小
!$% !0 -6%JK !E *<&N $01 J9KL
##读写通道秒内无操作进入空闲状态
!$% !0 -6%JK !* , J* 0!!&BOTH_IDLE>
KL
##绑定逻辑处理器
!$ !B* $J/ 0 $ $B* $JKKL
##绑定端口
!$3*J !0) !**$ JPORTKKL
logger'JM服务端启动成功端口号为:MOPORTKL
4
DJ; ! KA
logger $$$JM服务端启动异常M> KL
$!0!),$ JKL
D
D
D
无需解释,大家看上面的注释也许就了解一二了;
注意:创建服务端最主要的就是绑定服务端的消息编码解码过滤器和业务
逻辑处理器;
什么是编码与解码哪?大家知道,网络传输的数据都是二进制数据,而我
们的程序不可能直接去操作二进制数据;这时候我们就需要来把接收到的字节
数组转换为字符串,当然完全可以转换为任何一个 2 基本数据类型或对象,
这就是解码!而编码恰好相反,就是把要传输的字符串转换为字节!
比如上面使用的 自带的根据文本换行符编解码的 , !4 -* 过
滤器指定参数为根据 (*( 的换行符编解码,遇到客户端发送来的消
息,看到 (*( 换行符(C$C)就认为是一个消息了,而发送给客户端的消
息,都会在消息末尾添加上C$C 文本换行符;
业务逻辑处理器是 / 0 $ $B* $看它的具体实现:
/ 0 $ $B* $B* $*! $A
4%% $logger:
4%% $getLoggerJ/ 0 $ $B* $KL
$$*
-$ ! *J0 K; !A
logger'JM服务端与客户端创建连接MKL
D
$$*
*J0 K; !A
logger'JM服务端与客户端连接打开MKL
D
$$*
% E *J0 >32 ! % K
; !A
0!$%%: % !0!$%JKL
logger'JM服务端接收到的数据为:MO%KL
JM3? M P&J%KKA##服务端断开连接的条件
JKL
D
/! *! :/! JKL
($! J*! KL
D
5
剩余55页未读,继续阅读
资源评论
- TGTechnology2014-03-09不要这样好不好。这明明是人家的《Apache Mina2 学习笔记》嘛,改个名字就来骗人。骗了我3分,操!
- lubojian2014-08-07还不错啊,很实用
- ITzouyongqi2016-01-28好东西,谢谢分享
- DrakDog2016-02-16把一些mina2基础的应用方法写出来了,继续深究还得看自己
星空的哪头
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功