java c s 代码_main.java 源代码在线查看 - 用Mina 实现 简单聊天功能 相当于Java C/S 结构 大家可以在此基础上去进行完善 资源下载 虫虫电子下载站...

本文档介绍了如何使用Apache Mina库创建一个Java服务器,重点在于启用SSL安全连接和添加日志过滤。通过Mina的NioSocketAcceptor实现,我们配置了MDC注入、TextLineCodec用于数据解析,以及BogusSslContextFactory进行SSL支持。同时,文章展示了如何添加SSL支持和日志记录功能。

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"); }}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值