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"); }}
java c s 代码_main.java 源代码在线查看 - 用Mina 实现 简单聊天功能 相当于Java C/S 结构 大家可以在此基础上去进行完善 资源下载 虫虫电子下载站...
本文档介绍了如何使用Apache Mina库创建一个Java服务器,重点在于启用SSL安全连接和添加日志过滤。通过Mina的NioSocketAcceptor实现,我们配置了MDC注入、TextLineCodec用于数据解析,以及BogusSslContextFactory进行SSL支持。同时,文章展示了如何添加SSL支持和日志记录功能。

被折叠的 条评论
为什么被折叠?



