您的位置:首页 > 移动开发 > Android开发

android mina 框架

2016-02-15 19:08 351 查看
对于链接而言,分为长连接与短链接.

长连接表示一旦建立了链接,就可以长时间的保持双方的通讯,例如:

socket链接,推送平台.

短链接表示建立链接,完成数据的交换之后,就断开链接,例如: http链接.

mina 框架是对socket链接的一次封装框架,可以更好的管理链接的任务.

在很多的开源项目中使用,例如: android pn推送框架.

可以通过简单的几行代码建立通讯链接.

客户端:

NioSocketConnector connector=new NioSocketConnector();
//设置处理器
connector.setHandler(new MyHandler());
//设置拦截器
connector.getFilterChain().addLast("codec",
new ProtocolCodecFilter(new TextLineCodecFactory()));
//建立连接
ConnectFuture future=connector.connect(new InetSocketAddress("127.1.1.0", 8888));
future.awaitUninterruptibly();
//获取连接的会话
IoSession session=future.getSession();

BufferedReader inputReader = new BufferedReader(
new InputStreamReader(System.in));
String inputContent;
while ((inputContent = inputReader.readLine())!=null) {
session.write(inputContent);
}


服务端:

NioSocketAcceptor  acceptor=new NioSocketAcceptor();
//设置处理器
acceptor.setHandler(new MyHandler());
//设置空闲的时间
acceptor.getSessionConfig().setIdleTime(
IdleStatus.BOTH_IDLE, 3);
//设置拦截器
acceptor.getFilterChain().addLast("codec",
new ProtocolCodecFilter(new MyTextLineProtocolFactory()));
///端口的绑定
acceptor.bind(new InetSocketAddress(8888));


至于处理器IohandlerAdapter,与拦截器的编写,略.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: