⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo30.java

📁 pk_Total - 相同msg_Id消息总条数 pk_Number - 相同msg_Id的消息序号 registered_Delivery - 是否要求返回状态报告 msg_Level - 信
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                                    msgContent,
                                    "linkid=0123456789012");

      }
      catch(IllegalArgumentException e)
      {
        showStateMsg("提交短消息请求的输入参数不合法");
        e.printStackTrace();
        return null;
      }
      catch(Exception e)
      {
        showStateMsg("提交短消息请求处理异常");
        e.printStackTrace();
        return null;
      }
   }

  /**
   * 根据用户输入的消息生成QueryMsg
   * @return CMPPQueryMessage 对象
   */
   private CMPPQueryMessage getQueryMsg()
   {
      String strDate = QueryDate.getText().trim();
      if( strDate.length() != 8 )
      {
          showStateMsg("查询日期输入参数不合法");
          return null;
      }
      try
      {

        SimpleDateFormat sdf = new SimpleDateFormat();
        //根据年月日生成Date类型
        Date queryDate = java.sql.Date.valueOf(strDate.substring(0,4) + "-" + strDate.substring(4,6) + "-" + strDate.substring(6,8));
        //Date queryDate = sdf.parse(strDate);
        int queryType = Integer.parseInt(QueryType.getText().trim());
        String queryCode = QueryCode.getText().trim() ;
        return new CMPPQueryMessage(queryDate,queryType,queryCode,"");
      }
      catch(IllegalArgumentException ex)
      {
        //add invoke
        ex.printStackTrace();
        showStateMsg("查询参数输入参数不合法");
        return null;
      }
      catch(Exception e)
      {
        e.printStackTrace();
        return null;
      }
   }

  /**
   * 根据用户输入的消息生成CancelMsg
   * @return CMPPCancelMessage 对象
   */
   private CMPPCancelMessage getCancelMsg()
   {
      try
      {
        byte[] msg_Id = CancelMsgId.getText().trim().getBytes();
        return new CMPPCancelMessage(msg_Id);
      }
      catch(IllegalArgumentException ex)
      {
        ex.printStackTrace() ;
        showStateMsg("取消短消息参数输入参数不合法");
        return null;
      }
      catch(Exception e)
      {
        e.printStackTrace();
        return null;
      }
   }

  /**
   * 对提交请求后收到的响应消息进行处理。
   * @param msg 提交短消息请求后收到的响应消息
   * @return 返回处理CMPP_Submit_REP的操作结果
   */
  private void ProcessSubmitRep(CMPPMessage msg)
  {
    //收到的响应消息转换成repMsg
    CMPP30SubmitRepMessage repMsg = (CMPP30SubmitRepMessage)msg;
    if(repMsg!=null && repMsg.getResult()==0)
    {
      sendSuccessMsgSum ++;
    }
  }

  /**
   * 对提交查询请求后收到的响应消息进行处理。
   * @param msg 提交查询短消息请求后收到的响应消息
   * @return 返回处理CMPP_Query_REP的操作结果
   */
   private void ProcessQueryRep(CMPPMessage msg)
   {
      CMPPQueryRepMessage queryRep = (CMPPQueryRepMessage)msg;
      //根据响应消息去查询结果,根据需要是否显示
      mt_tlmsg = queryRep.getMtTlmsg();
      mt_tlusr = queryRep.getMtTlusr();
      mt_scs = queryRep.getMtScs();
      mt_wt = queryRep.getMtWt();
      mt_fl = queryRep.getMtFl();
      mo_scs = queryRep.getMoScs();
      mo_wt = queryRep.getMoWt();
      mo_fl = queryRep.getMoFl();
      showStateMsg("mt_tlmsg:"+mt_tlmsg+",mt_tlusr:"+mt_tlusr+
                   ",mt_scs:" +mt_scs+",mt_wt"+mt_wt+
                   ",mt_fl:"+mt_fl+",mo_scs:"+mo_scs);
   }

  /**
   * 对提交取消请求后收到的响应消息进行处理。
   * @param msg 提交短消息请求后收到的响应消息
   * @return 返回处理CMPP_Cancel_REP的操作结果
   */
   private boolean ProcessCancelRep(CMPPMessage msg)
   {
      CMPPCancelRepMessage cancelRep = (CMPPCancelRepMessage)msg;
      if(cancelRep.getSuccessId()==0)
      {
        showStateMsg("取消操作成功");
        return true;
      }
      else
      {
        showStateMsg("取消操作失败");
        return false;
      }
   }

  /**
   * 对收到短讯中心下发的短消息的处理。
   * @param msg 短讯中心下发的短消息
   */
   public void ProcessRecvDeliverMsg(CMPPMessage msg)
   {
      CMPP30DeliverMessage deliverMsg = (CMPP30DeliverMessage)msg;
      //下发的消息
      if(deliverMsg.getRegisteredDeliver()==0)
      {
         try
         {
           if(deliverMsg.getMsgFmt()==8)
           {
              showStateMsg("接收消息: 主叫号码="+
              deliverMsg.getSrcterminalId()+";内容="+
              new String(deliverMsg.getMsgContent(),"UTF-16BE"));
           }
           else
           {
              showStateMsg("接收消息: 主叫号码="+
              deliverMsg.getSrcterminalId()+";内容="+
              new String(deliverMsg.getMsgContent())+";destterm="+
              new String(deliverMsg.getDestnationId())+";serviceid="+
              new String(deliverMsg.getServiceId())+";tppid="+
              deliverMsg.getTpPid()+";tpudhi="+
              deliverMsg.getTpUdhi()+";msgfmt"+
              deliverMsg.getMsgFmt()+";srctermid="+
              new String(deliverMsg.getSrcterminalId())+";deliver="+
              deliverMsg.getRegisteredDeliver()+";msgcontent="+
              new String(deliverMsg.getMsgContent())+";LinkID="+
              new String(deliverMsg.getLinkID()));
           }
         }
         catch(Exception e)
         {
          e.printStackTrace();
         }
      }
      else
      {
        //状态报告消息,不处理
        showStateMsg("收到状态报告消息: stat="+
        new String(deliverMsg.getStat())+"dest_termID="+
        new String(deliverMsg.getDestTerminalId())+";destterm="+
        new String(deliverMsg.getDestnationId())+";serviceid="+
        new String(deliverMsg.getServiceId())+";tppid="+
        deliverMsg.getTpPid()+";tpudhi="+
        deliverMsg.getTpUdhi()+";msgfmt"+
        deliverMsg.getMsgFmt()+";srctermid="+
        new String(deliverMsg.getSrcterminalId())+";deliver="+
        deliverMsg.getRegisteredDeliver()+";LinkID="+
        new String(deliverMsg.getLinkID()));
      }
      recvDeliverMsgSum++;
   }

   /**
    * 通知SMC下发的Terminate消息
    */
   public void Terminate()
   {

      showStateMsg("SMC下发终断消息");
      loginSmProxy = false;
      smp = null;
   }
   /**
    * 显示SmProxy运行程序的状态
    * @str 显示的内容
    */
   private void showStateMsg(String str)
   {
      if((str==null)||(str==""))
      {
        return ;
      }
      allRecvContent.insert(sdf.format(new Date())+str+"\n",0);

      //防止内存耗尽
      if (allRecvContent.getText().length()>2*1024)
      {
        allRecvContent.setText(allRecvContent.getText().substring(0,1024));
      }
      allRecvContent.setCaretPosition(0);
   }
   /**
    *显示统计消息
    */
   private void showStatisticData()
   {
      SendMsgSum.setText(new Integer(sendMsgSum).toString());
      SuccessSendSum.setText(new Integer(sendSuccessMsgSum).toString());
      RecvMsgSum.setText(new Integer(recvDeliverMsgSum).toString());
   }
   /**
    * 检查系统连接状态消息
    */
   class MoniterThread extends Thread
   {
      public MoniterThread()
      {
        setDaemon(true);
      }
      public void run()
      {
         String connState=null;
         try
         {
            while(true)
            {
              connState = smp.getConnState();
              showStatisticData();
              if(connState==null) connState = "系统运行正常";
              myProxyState.setText(connState);

              //一秒钟检查10次
              sleep(100);
            }
         }
         catch(Exception e)
         {
            showStateMsg("状态监控线程出现异常退出");
            e.printStackTrace();
         }
      }
   }

  /**
   * 使用SmProxy应用程序,必须登录系统
   */
  void loginButton_actionPerformed(ActionEvent e)
  {
    //判断系统是否已经初始化了
    if(loginSmProxy)
    {
      showStateMsg("系统已经初始化");
      return ;
    }

    try
    {
      args.set("source-addr",loginName.getText().trim());
      args.set("shared-secret",loginPass.getText().trim());
      showStateMsg("系统正在初始化");
      smp = new MySMProxy30(this,args);
      showStateMsg("系统初始化成功");
      loginSmProxy = true;
      new MoniterThread().start();
    }
    catch(Exception ex)
    {
      showStateMsg("系统初始化失败");
      this.myProxyState.setText(ex.getMessage());
      ex.printStackTrace();
      loginSmProxy = false;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -