package minaTestServer;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
public class MinaTimeServer {
// 服务器监听端口
private static final int PORT = 8888;
/**
*
*/
public MinaTimeServer() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
// 服务器端的主要对象
IoAcceptor acceptor = new NioSocketAcceptor();
// 设置Filter链
acceptor.getFilterChain().addLast("logger", new LoggingFilter());
// 协议解析,采用mina现成的UTF-8字符串处理方式
//acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
// 设置消息处理类(创建、关闭Session,可读可写等等,继承自接口IoHandler)
acceptor.setHandler(new TimeServerHandler() );
// 设置接收缓存区大小
acceptor.getSessionConfig().setReadBufferSize(2048);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
try {
// 服务器开始监听
acceptor.bind( new InetSocketAddress(PORT) );
System.out.println("服务器端开始启动。。。。。。。。。。。。。");
}catch(Exception e){
e.printStackTrace();
}
}
}
mina服务器简单代码示例
需积分: 10 165 浏览量
2017-07-27
19:04:09
上传
评论
收藏 906KB ZIP 举报
hsbbhzz
- 粉丝: 3
- 资源: 11
最新资源
- 基于python实现的多线程爬虫爬取电影天堂资源
- 基于MFC的教职工信息管理系统c++源码含代码注释.zip
- 毕业设计-基于Vue + Node的外卖系统设计与实现
- python烟花代码示例
- 中国各地级市工业三废数据(2006-2021年).xlsx
- 基于MFC的校园导航程序(使用最短路径dijkstra算法).rar
- Android Studio android APP 视频作为视图背景需要源代码或想了解其实现原理的可以私心我
- com.ZeroneGames.GreenProject.apk
- Python自动化开发入门教程
- 4399GameSem_116_13955_207551_6.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0