package com.mina.server;
import java.util.logging.Logger;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;
public class ServerHandler extends IoHandlerAdapter {
private static Logger logger = Logger.getLogger(ServerHandler.class.getSimpleName());
/**
* 开启session前需要做的处理
*/
@Override
public void sessionOpened(IoSession session) throws Exception {
logger.info("sessionOpened");
}
/**
* 接收信息后要做的处理
*/
@Override
public void messageReceived(IoSession session, Object message)throws Exception {
System.out.println("服务器端接收命令:" + message);
Thread.sleep(1000);
// 反馈给客户端信息
session.write("你好,我是服务器:" + message);
}
/**
* 发送信息后的处理
*/
@Override
public void messageSent(IoSession session, Object message) throws Exception {
logger.info("messageSent:消息发送完毕");
}
/**
* 异常后的处理
*/
@Override
public void exceptionCaught(IoSession session, Throwable e)throws Exception {
e.printStackTrace();
logger.info("exceptionCaught:异常断开");
session.close(true);
}
/**
* 关闭session时候要做的处理
*/
@Override
public void sessionClosed(IoSession session) throws Exception {
logger.info("sessionClosed");
session.close(true);
}
/**
* 超时断开
*/
@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
// TODO Auto-generated method stub
logger.info("sessionIdle:超时断开");
session.close(true);
}
}