关闭

mina基础及服务端接口测试

发表于:2013-4-15 09:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网采编

  三、如何测试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);
 }

43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号