📄 serversessionhandler.java.svn-base
字号:
package com.fetion.cmpp.server;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoSession;
import com.fetion.cmpp.common.Message;
import com.fetion.cmpp.common.ServerResponse;
import com.fetion.cmpp.server.util.Constants;
import com.fetion.cmpp.server.util.ServerException;
/**
* 服务器端对已经连接的client的处理
* @author Administrator
*
*/
public class ServerSessionHandler implements IoHandler {
private static Log logger = LogFactory.getLog(ServerSessionHandler.class);
private ServerCallBack callBack;
public ServerSessionHandler(){
}
public ServerSessionHandler(ServerCallBack callBack){
this.callBack = callBack;
}
public void exceptionCaught(IoSession session, Throwable cause)
throws Exception {
session.close();
logger.info(cause.getStackTrace().toString());
}
public void messageReceived(IoSession session, Object message){
Message m = (Message)message;
// logger.info("message "+m.toString());
ServerResponse response = new ServerResponse();
if(callBack != null)
try {
callBack.onReceived(m);
response.setStatus(Constants.server_received_ok);
session.write(response);
} catch (ServerException e) {
// TODO Auto-generated catch block
response.setStatus(Constants.server_received_error);
session.write(response);
e.printStackTrace();
}
// session.setAttribute("response",response);
}
public void messageSent(IoSession session, Object message ) throws Exception {
// TODO Auto-generated method stub
}
public void sessionClosed(IoSession session) throws Exception {
session.closeOnFlush();
}
public void sessionCreated(IoSession session) throws Exception {
logger.info( "sessionCreated " );
}
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
logger.info("Disconnecting the idle.");
// disconnect an idle client
session.close();
}
public void sessionOpened(IoSession session) throws Exception {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -