Mina 入门
MINA 框架可以省下处理底层IO和线程并发操作,是基于NIO库的开发。
初步整理了下MINA的应用。
程序运行流程:
设定ServerHandler,ClientHandler继承自IoHandlerAdapter
调用 session.write(string) 时将会发送消息(messageSent)
1. run server, server bind
2. run client, to connect
3. sessionOpened
4. sessionCreated + messageSent
5. messageReceived + messageSent
...
基本代码如下:
服务端:
public class ServerMain
{
/**
* @param args
*/
public static void main(String[] args)
{
IoAcceptor acceptor = new NioSocketAcceptor();
acceptor.getSessionConfig().setReadBufferSize(1024000);
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));
acceptor.setHandler(new ServerHandler());
try
{
acceptor.bind(new InetSocketAddress(9015));
System.out.println(System.currentTimeMillis()+"========= server bind :: " + 9015);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
public class ServerHandler extends IoHandlerAdapter
{
@Override
public void messageReceived(IoSession session, Object message) throws Exception
{
}
@Override
public void messageSent(IoSession session, Object message) throws Exception
{
}
@Override
public void sessionOpened(IoSession session) throws Exception
{
}
}
===============================================================================
客户端:
public class ClientMain
{
/**
* @param args
*/
public static void main(String[] args)
{
IoConnector nsa = new NioSocketConnector();
nsa.getSessionConfig().setReadBufferSize(10240);
nsa.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));
nsa.setHandler(new ClientHandler());
IoSession session = null;
try
{
ConnectFuture future = nsa.connect(new InetSocketAddress("192.168.1.1", 9015));
future.awaitUninterruptibly();
session = future.getSession();
session.getCloseFuture().awaitUninterruptibly();
}
catch (Exception e)
{
e.printStackTrace();
}
nsa.dispose();
}
}
public class ClientHandler extends IoHandlerAdapter
{
@Override
public void messageReceived(IoSession session, Object message) throws Exception
{
}
@Override
public void messageSent(IoSession session, Object message) throws Exception
{
}
@Override
public void sessionCreated(IoSession session) throws Exception
{
}
}
附件给出测试代码和所需的包
分享到:
相关推荐
Mina学习笔记。作者:李少华
mina学习笔记,记录所有API,mina学习笔记,记录所有API
NULL 博文链接:https://tangmingjie2009.iteye.com/blog/2036903
Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)
mina2学习笔记
mina学习资料 包含Mina学习笔记 Mina2.0快速入门与源码剖析 Apache_Mina_Server_2.0中文参考手册V1.0 我本人推荐新手可以看Mina学习笔记里面有实例!很适合新手
真的是学习MIna很好的资源,找了好久才找到的,看了很多相关的知识书籍,这本书真的不错。
这是一个关于mina框架非常全的自学文档
这个是我学的apache mina2.0学习笔记的实例
Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使Java NIO在各种传输协议...
Mina2.0快速入门与源码剖析(个人经验文档)
Mina2.0学习笔记(修订版) 文档中附带大量实现的源码
丰富的MINA实例介绍,java NIO 学习,mina快速入门宝典
Mina入门 2 第一步.下载使用的Jar包 2 第二步.工程创建配置 2 第三步.服务端程序 3 第四步.客户端程序 6 第五步.长连接VS短连接 8 二. Mina基础 9 1.IoService接口 10 2.1.1 类结构 11 2.1.2 应用 12 2.IoFilter...
mina入门学习文档,初学者能快速掌握。好东西,大家下载吧
MINA使用详解,MINA的工作流程,及搭建一个实例!
MINA 是一个网络应用框架,有助于用户非常方便地开发高性能、高伸缩性的网络应用。 此文档80多页,是方便Mina上手的文档。