Package com.guxuede.mina.mainserver

Source Code of com.guxuede.mina.mainserver.ServerHandler

package com.guxuede.mina.mainserver;

import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;

import com.guxuede.mina.bean.HttpMessage;
import com.guxuede.mina.chat.ChatPro;
import com.guxuede.mina.util.FileUtil;


public class ServerHandler extends IoHandlerAdapter{

  @Override
  public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
    cause.printStackTrace();
  }

  @Override
  public void messageReceived(IoSession session, Object message) throws Exception {
    System.out.println("Server:接受消息:"+message);
    HttpMessage request=(HttpMessage)message;
    if(request.uri.endsWith("Hello.chat")){
      ChatPro.chatSessionReceived(request, session);
    }else{
      HttpMessage response=HttpMessage.getDefaultResponse();
      response.body=FileUtil.getFileIoBuffer(request.uri);
      session.write(response);
      session.close(true);
    }
  }

  @Override
  public void messageSent(IoSession session, Object message) throws Exception {
  }

  @Override
  public void sessionClosed(IoSession session) throws Exception {
    System.out.println("Server:连接关闭");
    ChatPro.chatSessionLeave(session);
  }

  @Override
  public void sessionCreated(IoSession session) throws Exception {
  }

  @Override
  public void sessionIdle(IoSession session, IdleStatus status)throws Exception {

  }

  @Override
  public void sessionOpened(IoSession session) throws Exception {
  }
}
TOP

Related Classes of com.guxuede.mina.mainserver.ServerHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.