学习Android推送功能笔记(5)---Mina初体验
2015-10-22 11:39
501 查看
首先百度一下Mina
http://mina.apache.org/如果想用Mina,就要下载Mina的jar包,,,
Apache MINA 2.0.9 stable (Java 5+) Binaries .tar.gz archive mina-2.0.9 (signatures : MD5 SHA1 ASC) .tar.bz2 archive mina-2.0.9 (signatures : MD5 SHA1 ASC) .zip archive mina-2.0.9 (signatures : MD5 SHA1 ASC) Sources .src.tar.gz archive mina-2.0.9(signatures : MD5 SHA1 ASC .src.tar.bz2 archive mina-2.0.9 (signatures : MD5 SHA1 ASC .src.zip archive mina-2.0.9 (signatures : MD5 SHA1 ASC
如果想研究源码就下载Sources,如果只是使用就下载Binaries就是了
导入到项目 dist下面的 mina-core-2.0.9.jar 和 lib下面的 slf4j.api-1.7.7.jar.第一个是核心功能.第二个是日志啥的,
四步实现基本Mina功能
第一步,初始化NioSocketAcceptor,用来接收客户端的连入,消息的接收等
NioSocketAcceptor acceptor = new NioSocketAcceptor();
第二步,为Acceptor设置Handler,Mina是通过Handler来处理消息的,把网络处理和消息处理分割开来,以便于代码的管理
acceptor.setHandler(new MyServerHandler());
当然handler是和已自己写的但是要继承
IoHandlerAdapter这个类,
里面设置了一些回调方法比如,接入时,发生异常时
exceptionCaught,收到消息时
messageReceived,发出消息时
messageSent,服务器闲置时等
sessionIdle
第三步 为Acceptor设置解码器(拦截器),可以用常用的自带的解码器 PortocolCodecFiliter—TextLineCodecFactory,当然,这个知识用来读取一行数据的,要实现读取自己的数据,例如JSON,XML等,就要自定义了
acceptor.getFilterChain().addLast("codec",new ProtocolCodecFilter(new TextLineCodecFactory()));
第四步,绑定端口!
acceptor.bind(new InetSocketAddress(9899));
要用到服务器闲置时
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 5);
相关文章推荐
- Android studio Gradle 多渠道打包
- Android Studio教程06-快捷键、Debug的使用
- android自定义控件之ListView上拉加载与下拉刷新
- Android 源码阅读笔记
- Android的onLayout、layout方法讲解
- 转--Android开发实践:使用Service还是Thread
- android 动画animation
- 说说Android应用的persistent属性
- Google I/O 2015 Android Design
- Android Launcher3 设置壁纸请教
- 《Android开发艺术探索》学习笔记(一)
- android shape用法
- Android 与JS互调
- android选择器
- android 弹窗进度条下载并安装
- android shape的使用
- Android内存管理
- Chromium for Android (2015)
- android获取路径目录方法
- android图片的异步加载和双缓存学习笔记——DisplayImageOptions