zyh3033 发表于 2017-12-24 17:45:23

使用Apache MINA框架搭建服务端

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

  
import com.model.DeliverObject;
  
import com.model.Orders;
  
import com.model.Users;
  
import com.service.GoodsService;
  
import com.service.OrdersService;
  
import com.service.UserService;
  
import com.utils.GetBeanUtil;
  
import com.utils.LogUtil;
  
import com.utils.Params;
  


  
public>  

  private static final LogUtil logUtil = LogUtil
  .getLogUtil(MinaServerHandler.class);
  

  @Override
  public void sessionCreated(IoSession session) throws Exception {
  logUtil.customLog("服务端与client创建连接...");
  }
  

  @Override
  public void sessionOpened(IoSession session) throws Exception {
  logUtil.customLog("服务端与client连接打开...");
  }
  

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

  DeliverObject recvObj = (DeliverObject) message;
  int optionType = recvObj.getOptionType();
  // 假设是登录操作
  if (optionType == Params.LOGIN) {
  UserService userService = (UserService) GetBeanUtil
  .getBean("userService");
  userService.doLogin(session, (Users) recvObj.getObj());
  } else if (optionType == Params.REGISTER) {
  // 假设是注冊操作
  UserService userService = (UserService) GetBeanUtil
  .getBean("userService");
  userService.doRegister(session, (Users) recvObj.getObj());
  } else if (optionType == Params.UPDATEUSER) {
  // 假设是改动用户信息操作
  UserService userService = (UserService) GetBeanUtil
  .getBean("userService");
  userService.doUpdateUser(session, (Users) recvObj.getObj());
  } else if (optionType == Params.SEARCHGOODS) {
  // 假设是搜索商品操作
  GoodsService goodsService = (GoodsService) GetBeanUtil
  .getBean("goodsService");
  goodsService.doSearchGoods(session, (String) recvObj.getObj());
  } else if (optionType == Params.SUBMITORDERS) {
  // 假设是提交订单操作
  OrdersService ordersService = (OrdersService) GetBeanUtil
  .getBean("ordersService");
  ordersService.doSubmitOrders(session, (Orders) recvObj.getObj());
  } else if (optionType == Params.SEARCHALLORDERS) {
  // 假设是查询全部订单操作
  OrdersService ordersService = (OrdersService) GetBeanUtil
  .getBean("ordersService");
  ordersService.doSearchAllOrders(session, (Users) recvObj.getObj());
  }
  

  }
  

  @Override
  public void messageSent(IoSession session, Object message) throws Exception {
  logUtil.customLog("服务端发送信息成功...");
  }
  

  @Override
  public void sessionClosed(IoSession session) throws Exception {
  logUtil.customLog("服务端与client连接关闭...");
  session.close(true);
  }
  

  @Override

  public void sessionIdle(IoSession session,>  throws Exception {
  super.sessionIdle(session, status);
  logUtil.customLog("服务端进入空暇状态...");
  }
  

  @Override
  public void exceptionCaught(IoSession session, Throwable cause)
  throws Exception {
  logUtil.customLog("服务端发送异常..." + cause);
  session.close(true);
  }
  

  
}
页: [1]
查看完整版本: 使用Apache MINA框架搭建服务端