Mina框架介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haoranhaoshi/article/details/89102597

Mina框架介绍:https://blog.csdn.net/haoranhaoshi/article/details/89102597
Mina实战一:建立Server和Client。有Client加入,Server广播给所有Client:https://blog.csdn.net/haoranhaoshi/article/details/89103348
Mina实战二:在控制台中Client可以给Sever和其他Client发送数据:https://blog.csdn.net/haoranhaoshi/article/details/89103887
Mina实战三:特定角色的Client处理消息:https://blog.csdn.net/haoranhaoshi/article/details/89103993
Mina实战四:特定角色收到消息:https://blog.csdn.net/haoranhaoshi/article/details/89108502
Mina实战五:Client启动时如果没有Server,就先建立Server:https://blog.csdn.net/haoranhaoshi/article/details/89108625
Mina实战六:不独立启动Server,Client通信:https://blog.csdn.net/haoranhaoshi/article/details/89109412
Mina实战工程下载:https://download.csdn.net/download/haoranhaoshi/11100668

一、简介
1、Apache Mina是一个网络通信应用框架,主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等)。Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用。Mina 提供了事件驱动、异步(JAVA NIO 作为底层支持)操作的编程模型。
2、官网:http://mina.apache.org/
3、Jar包下载地址:http://mina.apache.org/downloads-mina_2_0.html
4、学习路径:http://mina.apache.org/mina-project/userguide/user-guide-toc.html
5、源码解析:http://tool.oschina.net/apidocs/apidoc?api=mina
6、官方TCP Server:http://mina.apache.org/mina-project/userguide/ch2-basics/sample-tcp-server.html
   官方TCP Client:http://mina.apache.org/mina-project/userguide/ch2-basics/sample-tcp-client.html
二、框架核心构成
1、IoService:是服务端IoAcceptor、客户端IoConnector 的抽象,提供IO 服务和管理IoSession的功能。
2、IoAcceptor:TCPServer 的接口
3、IoConnector:TCPClient 的接口
4、IoFuture:异步执行。
5、IoSession:用于表示Server 端与Client 端的连接,IoAcceptor.accept()的时候返回实例。
6、IoSessionConfig:法用于指定此次会话的配置。
7、IoHandler:是你编写业务逻辑的地方,从上面的示例代码可以看出,读取数据、发送数据基本都在这个接口总完成,这个实例是绑定到IoService 上的,有且只有一个实例(没有给一个IoService 注入一个IoHandler 实例会抛出异常)。
8、IoFilter:日志、编码、解码等的过滤器。
三、推荐网址
NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示:https://www.cnblogs.com/imstudy/p/5614014.html
mina框架详解:https://www.cnblogs.com/duanxz/p/5143227.html
用MINA实现UDP通信的例子:https://blog.csdn.net/polo_longsan/article/details/50094879
基于Apache Mina实现的TCP长连接和短连接实例:https://blog.csdn.net/wilsonke/article/details/24707673
四、可扩展知识点
JAVA IO(http://ifeve.com/overview/)、JAVA NIO、JAVASocket、JAVA 线程及并发库(java.util.concurrent.*)
Netty(Mina和Netty是同一个作者,后下放到社区进行推广,Netty的更新频率高于Netty,Mina最新版本为2,Netty最新版本为5,作者更认可Mina,简单易懂,Netty被框架频繁改动后嵌入,不稳定,API繁杂。)

猜你喜欢

转载自blog.csdn.net/haoranhaoshi/article/details/89102597
今日推荐