利用MINA构建JAVA网络应用框架

 1、先简单介绍下MINA:

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP
协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),
Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异
步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。

 

2MINA框架的常用类
NioSocketAcceptor用于创建服务端监听;
NioSocketConnector用于创建客户端连接;
IoSession用来保存会话属性和发送消息;
IoHandlerAdapter用于定义业务逻辑,常用的方法有:
方法 定义
sessionCreated()
当会话创建时被触发
sessionOpened()
当会话开始时被触发
sessionClosed()
当会话关闭时被触发
sessionIdle()
当会话空闲时被触发
exceptionCaught()
当接口中其他方法抛出异常未被捕获时触发此方法
messageRecieved()
当接收到消息后被触发
messageSent()
当发送消息后被触发

 

3、应用示例

所需jarslf4j-api.jarslf4j-jdk14.jarMINA-core-2.0.0-M1.jar。相关包可到官方网站下载。

首先定义一个业务逻辑处理器TimeServerHandler,继承自IoHandlerAdapter,实现的功能有:当客户端创建会话时会显示客户端设备的IP和端口;当客户端输入quit时结束会话;客户端输入其它内容时则向客户端发送当前时间。代码如下:

定义一个类MinaTimeServer用来启动服务端:

 

客户端:定义类TimeClientHandler来处理消息接收事件

定义MinaTimeClient类用于连接服务端,并向服务端发送消息:

 

运行服务端server,再启动客户端MinaTimeClient,可看到进行通讯信息交互。

 

另在MinaTimeServer类中增加下面方法进行客户端连接总数以及服务端主动向客户端发送信息等测试。

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值