首页>代码>apache Mina开发实现多人聊天室程序命令行版本>/zuidaima_mina_server/src/main/java/com/zuidaima/mina/server/MinaServer.java
package com.zuidaima.mina.server;
import java.io.IOException;
import java.net.InetSocketAddress;
import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.transport.socket.SocketAcceptor;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
import com.zuidaima.mina.server.factory.CharsetCodecFactory;
import com.zuidaima.mina.server.message.ServerMessageHandler;
/**
* <b>function:</b> 服务器启动类
*
* @author hoojo
* @createDate 2012-6-29 下午07:11:00
* @file MinaServer.java
* @package com.hoo.mina.server
* @project ApacheMiNa
* @blog http://blog.csdn.net/IBM_hoojo
* @email hoojo_@126.com
* @version 1.0
*/
public class MinaServer {
private SocketAcceptor acceptor;
public MinaServer() {
// 创建非阻塞的server端的Socket连接
acceptor = new NioSocketAcceptor();
}
public boolean start() {
DefaultIoFilterChainBuilder filterChain = acceptor.getFilterChain();
// 添加编码过滤器 处理乱码、编码问题
filterChain.addLast("codec", new ProtocolCodecFilter(
new CharsetCodecFactory()));
/*
* LoggingFilter loggingFilter = new LoggingFilter();
* loggingFilter.setMessageReceivedLogLevel(LogLevel.INFO);
* loggingFilter.setMessageSentLogLevel(LogLevel.INFO); // 添加日志过滤器
* filterChain.addLast("loger", loggingFilter);
*/
// 设置核心消息业务处理器
acceptor.setHandler(new ServerMessageHandler());
// 设置session配置,30秒内无操作进入空闲状态
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 30);
try {
// 绑定端口3456
acceptor.bind(new InetSocketAddress(3456));
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
public static void main(String[] args) {
MinaServer server = new MinaServer();
server.start();
}
}
最近下载更多
crosa_Don LV18
2022年7月23日
LHJ123 LV30
2019年2月1日
wen332 LV6
2019年1月4日
253702090 LV3
2018年5月19日
jic499 LV27
2018年4月14日
1943815081 LV13
2018年4月13日
lyh1989 LV34
2017年12月7日
fangjishuai LV2
2017年11月30日
dagf113225 LV68
2017年8月30日
xjc621105 LV17
2017年4月25日

最近浏览