mina基础及服务端接口测试
作者:网络转载 发布时间:[ 2013/4/15 10:48:23 ] 推荐标签:
三、如何测试mina的服务端
1、创建自己的mina客户端
public IoConnector creatClient() {
NioSocketConnector connector = null;
try {
connector = new NioSocketConnector();
connector.getSessionConfig().setReadBufferSize(1024 * 1024 * 5);
connector.getSessionConfig().setBothIdleTime(10);
connector.getSessionConfig().setKeepAlive(true);
connector.setHandler(new MyIoHandler());
connector.getFilterChain().addLast("codec",
new ProtocolCodecFilter(new DecodeFactory()));
connector.setConnectTimeoutMillis(5000);
} catch (Exception e) {
e.printStackTrace();
}
return connector;
}
2、重写Hanlder类,其中重要的messageReciever方法需要先写好如何处理收到的数据,包括断言等
@Override
public void sessionCreated(IoSession session) throws Exception {
logger.info("服务端与客户端创建连接...");
}
@Override
public void sessionOpened(IoSession session) throws Exception {
logger.info("服务端与客户端连接打开..."+ "当前第" + session.getId() + "个客户端");
}
@Override
public void messageReceived(IoSession session, Object message)
throws Exception {
if (message instanceof IoBuffer) {
ServerResponse.getResponseInfo(session,(IoBuffer)message);
}
}
@Override
public void messageSent(IoSession session, Object message) throws Exception {
logger.info("服务端发送信息成功...");
}
@Override
public void sessionClosed(IoSession session) throws Exception {
logger.info("服务端与客户端连接断开...");
}
@Override
public void sessionIdle(IoSession session, IdleStatus status)
throws Exception {
logger.info("服务端进入空闲状态...");
}
@Override
public void exceptionCaught(IoSession session, Throwable cause)
throws Exception {
logger.error("服务端发送异常...", cause);
}

sales@spasvo.com