我是靠谱客的博主 苗条硬币,最近开发中收集的这篇文章主要介绍apache mina 学习(二)-----时间服务器分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

上篇文章的时间服务器的例子是apache mina官网上的demo,首先在main函数中定义了一个IoAcceptor,这个IoAcceptor就是服务器接收io流的入口,接收到的io流我们该怎么处理呢,NioSocketAcceptor告诉我们用nio的一个socket连接来处理,SocketAcceptor是基于TCP/IP的编程实现。

接下来就是加入过滤连,也就是配置filter了,logger标示先加入日志拦截,众所周知,这样比较利于我们调试基本的程序,第二个加入的ProtocolCodecFilter是一个协议的编码过滤器,从名字我们可以得出,因为我们发送的是普通的文本信息,所以用TextLine的Code工厂,编码设置为utf-8,乙方出现乱码。

下面是设置一个自定义的Handler,顾名思义就是回调方法,这个方法要实现IoHandlerAdapter这个接口,从名字看这个接口是个适配器接口,适配什么呢?我猜想是把Io流中的数据适配给自定义的handler,呵呵 到此为止我尚不知道mina的框架结构,所以看懂什么地方说什么。

在看这个接口的方法:exceptionCaught:发现异常时执行此方法,参数是session和引发异常的原因,messagereceived方法:得到客户端发出的message,并且可以根据此信息来操作session,当然我们也可以取到session中的信息,因为这是参数传过来的,也行这就是IoHandler的妙处吧。

sessionIdel方法:session处于空闲状态,也就是连接在但是没发送数据的状态时执行的函数。

最后我们设置了session的缓冲区大小是2048,设置空闲时间是10s,也就是我们看到的,当空闲到10秒时,会自动执行我们的sessionIdel方法。最后把我们的服务绑定到9123端口。

最后

以上就是苗条硬币为你收集整理的apache mina 学习(二)-----时间服务器分析的全部内容,希望文章能够帮你解决apache mina 学习(二)-----时间服务器分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部