学习Android推送功能笔记(5)---Mina初体验

首先百度一下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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值