Beispiel #1
0
  /**
   * 发送包,该方法是同步的
   *
   * @param pack 可能是submit报或者unbind包 包
   * @return 如果通道不可用 返回false 发送成功返回true
   * @throws IOException
   * @throws IOException
   */
  private boolean sendPacket(APackage pack) throws IOException {
    log.info("发送SubmitMessage包:" + pack);
    APackage recv = channel.send(pack);
    log.info("收到SubmitRespMessage包:" + recv);
    if (recv == null) {
      return false;
    }
    // 对收到的包记录二进制信息

    if ((pack instanceof SubmitMessage) && (recv instanceof SubmitRespMessage)) {
      doSubmitResp((SubmitMessage) pack, (SubmitRespMessage) recv);
      return true;
    } else {
      log.error("发送包和接受包都有误:" + pack + recv);
      return false;
    }
  }