Mina使用总结(一)MinaServer

我们先看一个最简单的Mina Server服务端代码,该段代码实现了服务端Server启动并监听客户端请求

复制代码
package com.bypay.mina.server;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
import com.bypay.mina.handler.TimeServerHandler;

/**
 * 最简单的Mina Server
 * @author 唐延波
 * @date 2015-2-22
 *
 */
public class MinaSimpleServer {

    private static final int PORT = 9123;
    
    private static final String HOST = "localhost";

    public static void main(String[] args) throws IOException {
        // 接收者
        IoAcceptor acceptor = new NioSocketAcceptor();

        // 设置编码器
        acceptor.getFilterChain().addLast(
                "codec",
                new ProtocolCodecFilter(new TextLineCodecFactory(Charset
                        .forName("UTF-8"))));

        //设置Handler
        acceptor.setHandler(new TimeServerHandler());

        // 绑定端口,启动服务,并开始处理远程客户端请求
        acceptor.bind(new InetSocketAddress(HOST,PORT));
        System.out.println("服务端启动成功");
    }

}
复制代码

下面我们用telnet命令去连接这个服务端

cmd>telnet localhost 9123

输入任意字符,显示当前时间,输入quit退出连接

image

 

posted @   风过无痕的博客  阅读(4020)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示