mina服务端用java,客户端用telnet
1 两个类,主要是开启服务使用
package com.mina;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.log4j.Logger;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.LineDelimiter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
public class Demo1Server {
private static Logger logger = Logger.getLogger(Demo1Server.class);
private static int PORT = 3005;
public static void main(String[] args) {
IoAcceptor acceptor = null; // 创建连接
try {
// 创建一个非阻塞的server端的Socket
acceptor = new NioSocketAcceptor();
// 设置过滤器(使用Mina提供的文本换行符编解码器)
acceptor.getFilterChain().addLast( //添加消息过滤器
"codec",
new ProtocolCodecFilter(new TextLineCodecFactory(Charset
.forName("UTF-8"),
LineDelimiter.WINDOWS.getValue(),
LineDelimiter.WINDOWS.getValue())));
// 设置读取数据的缓冲区大小
acceptor.getSessionConfig().setReadBufferSize(2048);
// 读写通道10秒内无操作进入空闲状态
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
// 绑定逻辑处理器
acceptor.setHandler(new Demo1ServerHandler()); // 添加业务处理
// 绑定端口
acceptor.bind(new InetSocketAddress(PORT));
logger.info("服务端启动成功... 端口号为:" + PORT);
} catch (Exception e) {
logger.error("服务端启动异常....", e);
e.printStackTrace();
}
}
}
package com.mina;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.log4j.Logger;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.LineDelimiter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
public class Demo1Server {
private static Logger logger = Logger.getLogger(Demo1Server.class);
private static int PORT = 3005;
public static void main(String[] args) {
IoAcceptor acceptor = null; // 创建连接
try {
// 创建一个非阻塞的server端的Socket
acceptor = new NioSocketAcceptor();
// 设置过滤器(使用Mina提供的文本换行符编解码器)
acceptor.getFilterChain().addLast( //添加消息过滤器
"codec",
new ProtocolCodecFilter(new TextLineCodecFactory(Charset
.forName("UTF-8"),
LineDelimiter.WINDOWS.getValue(),
LineDelimiter.WINDOWS.getValue())));
// 设置读取数据的缓冲区大小
acceptor.getSessionConfig().setReadBufferSize(2048);
// 读写通道10秒内无操作进入空闲状态
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
// 绑定逻辑处理器
acceptor.setHandler(new Demo1ServerHandler()); // 添加业务处理
// 绑定端口
acceptor.bind(new InetSocketAddress(PORT));
logger.info("服务端启动成功... 端口号为:" + PORT);
} catch (Exception e) {
logger.error("服务端启动异常....", e);
e.printStackTrace();
}
}
}
2 服务端启动:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2014-01-17 10:49:18,203 INFO Demo1Server - 服务端启动成功... 端口号为:3005
2014-01-17 10:50:11,500 INFO Demo1ServerHandler - 服务端与客户端创建连接...
2014-01-17 10:50:11,546 INFO Demo1ServerHandler - 服务端与客户端连接打开...
2014-01-17 10:50:21,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:50:32,953 INFO Demo1ServerHandler - 服务端接收到的数据为:testdemo
2014-01-17 10:50:32,984 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:50:42,984 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:50:47,250 INFO Demo1ServerHandler - 服务端接收到的数据为:bye
2014-01-17 10:51:19,937 INFO Demo1ServerHandler - 服务端与客户端创建连接...
2014-01-17 10:51:19,937 INFO Demo1ServerHandler - 服务端与客户端创建连接...
2014-01-17 10:51:19,937 INFO Demo1ServerHandler - 服务端与客户端连接打开...
2014-01-17 10:51:19,937 INFO Demo1ServerHandler - 服务端与客户端连接打开...
2014-01-17 10:51:20,531 INFO Demo1ServerHandler - 服务端与客户端创建连接...
2014-01-17 10:51:20,531 INFO Demo1ServerHandler - 服务端与客户端连接打开...
2014-01-17 10:51:20,531 INFO Demo1ServerHandler - 服务端接收到的数据为:GET / HTTP/1.1
2014-01-17 10:51:20,531 INFO Demo1ServerHandler - 服务端接收到的数据为:Accept: */*
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端接收到的数据为:Accept-Language: zh-cn
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端接收到的数据为:User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Embedded Web Browser from: http://bsalsa.com/; .NET4.0C; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端接收到的数据为:Accept-Encoding: gzip, deflate
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端接收到的数据为:Host: 127.0.0.1:3005
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端接收到的数据为:Connection: Keep-Alive
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端接收到的数据为:
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:20,546 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:29,937 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:51:29,937 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:51:30,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:51:40,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:51:43,109 INFO Demo1ServerHandler - 服务端与客户端创建连接...
2014-01-17 10:51:43,109 INFO Demo1ServerHandler - 服务端与客户端连接打开...
2014-01-17 10:51:50,203 INFO Demo1ServerHandler - 服务端接收到的数据为:this is my time
2014-01-17 10:51:50,203 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:50,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:51:51,562 INFO Demo1ServerHandler - 服务端接收到的数据为:
2014-01-17 10:51:51,562 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:52,718 INFO Demo1ServerHandler - 服务端接收到的数据为:
2014-01-17 10:51:52,718 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:54,484 INFO Demo1ServerHandler - 服务端接收到的数据为:hello
2014-01-17 10:51:54,484 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:51:58,421 INFO Demo1ServerHandler - 服务端接收到的数据为:demo
2014-01-17 10:51:58,421 INFO Demo1ServerHandler - 服务端发送信息成功...
2014-01-17 10:52:00,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:08,421 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:10,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:18,421 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:20,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:28,421 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:30,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:38,421 INFO Demo1ServerHandler - 服务端进入空闲状态...
2014-01-17 10:52:40,546 INFO Demo1ServerHandler - 服务端进入空闲状态...
4 开启客户端 cmd
然后
输入bye退出