📄 main.java
字号:
package com.mina.chat.server;
import java.net.InetSocketAddress;
import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
import com.mina.chat.ssl.BogusSslContextFactory;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.filter.logging.MdcInjectionFilter;
import org.apache.mina.filter.ssl.SslFilter;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
/**
* 服务端开启
*
* @author 1
* @version 1.0
*/
public class Main {
private static final int PORT = 1234;
private static final boolean USE_SSL = false;
public static void main(String[] args) throws Exception {
NioSocketAcceptor acceptor = new NioSocketAcceptor();
DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
MdcInjectionFilter mdcInjectionFilter = new MdcInjectionFilter();
chain.addLast("mdc", mdcInjectionFilter);
if (USE_SSL) {
addSSLSupport(chain);
}
chain.addLast("codec", new ProtocolCodecFilter(
new TextLineCodecFactory()));
addLogger(chain);
acceptor.setHandler(new ChatProtocolHandler());
acceptor.bind(new InetSocketAddress(PORT));
System.out.println("Listening on port " + PORT);
}
private static void addSSLSupport(DefaultIoFilterChainBuilder chain)
throws Exception {
SslFilter sslFilter = new SslFilter(BogusSslContextFactory.getInstance(true));
chain.addLast("sslFilter", sslFilter);
System.out.println("SSL ON");
}
private static void addLogger(DefaultIoFilterChainBuilder chain)
throws Exception {
chain.addLast("logger", new LoggingFilter());
System.out.println("Logging ON");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -