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

📄 demo30.java

📁 pk_Total - 相同msg_Id消息总条数 pk_Number - 相同msg_Id的消息序号 registered_Delivery - 是否要求返回状态报告 msg_Level - 信
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package demo.cmppdemo30;

//不应使用到com.huawei.insa2包内的类
import java.awt.Color ;
import java.awt.Dimension ;
import java.awt.GraphicsEnvironment ;
import java.awt.Rectangle ;
import java.awt.event.ActionEvent ;
import java.text.SimpleDateFormat ;
import java.util.Date ;

import javax.swing.BorderFactory ;
import javax.swing.JButton ;
import javax.swing.JFrame ;
import javax.swing.JLabel ;
import javax.swing.JScrollPane ;
import javax.swing.JTextArea ;
import javax.swing.JTextField ;
import javax.swing.JToggleButton ;

import com.huawei.smproxy.comm.cmpp.message.CMPPCancelMessage;
import com.huawei.smproxy.comm.cmpp.message.CMPPCancelRepMessage;
import com.huawei.smproxy.comm.cmpp.message.CMPPMessage;
import com.huawei.smproxy.comm.cmpp.message.CMPPQueryMessage;
import com.huawei.smproxy.comm.cmpp.message.CMPPQueryRepMessage;
import com.huawei.smproxy.comm.cmpp30.message.CMPP30DeliverMessage;
import com.huawei.smproxy.comm.cmpp30.message.CMPP30SubmitMessage;
import com.huawei.smproxy.comm.cmpp30.message.CMPP30SubmitRepMessage;
import com.huawei.smproxy.util.Args;
import com.huawei.smproxy.util.Cfg;

public class Demo30 extends JFrame implements DemoConst{

  private static Args args;

  /** 短信收发接口*/
  private MySMProxy30 smp = null;
  private boolean loginSmProxy = false;

  //定义CMPP_Submit_Rep统计消息
  int sendMsgSum= 0;    //发送消息的总数
  int sendSuccessMsgSum = 0;  //成功发送消息的总数
  int recvDeliverMsgSum = 0;  //接收消息的总数

  //定义CMPP_Query_Rep统计消息
  int mt_tlmsg = 0;  //从SP接收消息的总数
  int mt_tlusr = 0; //从SP接收的用户总数
  int mt_scs =0;  //成功转发数量
  int mt_wt =0;   //待转发数量
  int mt_fl=0 ;    //转发失败的数量
  int mo_scs = 0; //向Sp成功送达的数量
  int mo_wt = 0; //向SP待送达数量
  int mo_fl = 0; //向SP送达失败的数量

  //主要为了完成在多线程进行性能测试的时候使用
  int cmppSubmitFrom =0;
  int cmppSubmitTo = 0;
  int calledIndex = 0;
  String serviceId = null;
  String feeTerminalId = null;
  String msgSrc = null;
  Date valid_Time = null;//new Date();
  Date at_Time = null;//new Date();
  String srcTerminalId = null;
  String destTerminalId [] = new String[1];
  byte[] msgContent = null;
  String destTerminalPhone = null;

  SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.sss ");
  JLabel jLabel2 = new JLabel();
  JTextField service_Id = new JTextField();
  JLabel jLabel3 = new JLabel();
  JTextField fee_Terminal_Id = new JTextField();
  JLabel jLabel4 = new JLabel();
  JTextField msg_src = new JTextField();
  JLabel jLabel5 = new JLabel();
  JTextField src_Terminal_Id = new JTextField();
  JLabel jLabel6 = new JLabel();
  JTextField dest_Terminal_Id = new JTextField();
  JLabel jLabel7 = new JLabel();
  JTextField msg_Content = new JTextField();
  JButton SendButton = new JButton();
  JLabel jLabel8 = new JLabel();
  JTextField ThreadNum = new JTextField();
  JLabel jLabel9 = new JLabel();
  JTextField threadRunInterval = new JTextField();
  JLabel jLabel10 = new JLabel();
  JTextField QueryDate = new JTextField();
  JLabel jLabel11 = new JLabel();
  JTextField QueryType = new JTextField();
  JLabel jLabel12 = new JLabel();
  JTextField QueryCode = new JTextField();
  JToggleButton QueryButton = new JToggleButton();
  JLabel jLabel13 = new JLabel();
  JTextField CancelMsgId = new JTextField();
  JButton CancelButton = new JButton();
  JLabel jLabel14 = new JLabel();
  JLabel jLabel15 = new JLabel();
  JTextField SendMsgSum = new JTextField();
  JLabel jLabel16 = new JLabel();
  JTextField SuccessSendSum = new JTextField();
  JLabel jLabel17 = new JLabel();
  JTextField RecvMsgSum = new JTextField();
  JLabel jLabel21 = new JLabel();
  JTextField threadSleepInterval = new JTextField();
  JLabel jLabel22 = new JLabel();
  JTextField myProxyState = new JTextField();
  JLabel jLabel23 = new JLabel();
  JTextField loginName = new JTextField();
  JLabel jLabel24 = new JLabel();
  JTextField loginPass = new JTextField();
  JButton loginButton = new JButton();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTextArea allRecvContent = new JTextArea();
  JLabel jLabel1 = new JLabel();
  JLabel jLabel18 = new JLabel();
  JTextField calledFrom = new JTextField();
  JTextField calledTo = new JTextField();

  public Demo30()
  {
    /**@todo 界面布局。*/
    try
    {
      jbInit();
      this.setSize(new Dimension(600,450));
      Rectangle r =
      GraphicsEnvironment.getLocalGraphicsEnvironment()
      .getScreenDevices()[0].getDefaultConfiguration().getBounds();
      this.setLocation((int)(r.getWidth()-600)/2,(int)(r.getHeight()-450)/2);
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }

  /**
   * 发送消息线程的线程体,负责发送消息。
   */
   public void Task()
   {
      sendMsgSum ++;
      //发送短消息请求,并对返回的消息做解析,生成统计数据
      //对于出现的异常则交给SendReqThread去捕获处理.
      try
      {
          ProcessSubmitRep(smp.send(getSubmitMsg(calledIndex)));
      } catch (Exception ex) {
        ex.printStackTrace();
      }
   }
  /**
   * 启动发送短消息请求的线程
   * @param threadNum 启动的线程的个数
   */
   public void StartSendThread(int threadNum,int timeLong,int sleepInterval)
   {
      if(smp==null)
      {
        return ;
      }
      //启动发送线程
      for(int i = 0;i<threadNum;i++)
      {
        new SendReqThread30("test",this,timeLong,sleepInterval).start();
      }
   }

  /**
   * 程序入口。
   */
  public static void main(String[] a) throws Exception {
    new Demo30().show();
    args = new Cfg("app.xml",false).getArgs("CMPPConnect");
  }
  private void jbInit() throws Exception {
    this.getContentPane().setLayout(null);
    this.getContentPane().setBackground(new Color(204, 230, 210));
    this.setDefaultCloseOperation(3);
    this.setForeground(Color.black);
    this.setResizable(false);
    this.setTitle("短消息网关测试程序");
    jLabel2.setText("业务类型");
    jLabel2.setBounds(new Rectangle(22, 61, 57, 22));
    service_Id.setBorder(BorderFactory.createLineBorder(Color.black));
    service_Id.setToolTipText("");
    service_Id.setText("good news");
    service_Id.setBounds(new Rectangle(99, 61, 131, 22));
    jLabel3.setText("记费号码");
    jLabel3.setBounds(new Rectangle(242, 61, 57, 22));
    fee_Terminal_Id.setBorder(BorderFactory.createLineBorder(Color.black));
    fee_Terminal_Id.setText("8989899");
    fee_Terminal_Id.setBounds(new Rectangle(305, 61, 131, 22));
    jLabel4.setText("消息来源");
    jLabel4.setBounds(new Rectangle(450, 61, 58, 22));
    msg_src.setBorder(BorderFactory.createLineBorder(Color.black));
    msg_src.setText("huawei");
    msg_src.setBounds(new Rectangle(506, 61, 75, 22));
    jLabel5.setText("主叫地址");
    jLabel5.setBounds(new Rectangle(22, 94, 59, 22));
    src_Terminal_Id.setBorder(BorderFactory.createLineBorder(Color.black));
    src_Terminal_Id.setToolTipText("源终端MSISDN号码, 即此短消息的主叫地址");
    src_Terminal_Id.setText("86138");
    src_Terminal_Id.setBounds(new Rectangle(99, 94, 131, 22));
    jLabel6.setText("被叫地址");
    jLabel6.setBounds(new Rectangle(242, 94, 58, 22));
    dest_Terminal_Id.setBorder(BorderFactory.createLineBorder(Color.black));
    dest_Terminal_Id.setToolTipText("目的用户手机号码");
    dest_Terminal_Id.setBounds(new Rectangle(305, 94, 70, 24));
    jLabel7.setText("短消息内容");
    jLabel7.setBounds(new Rectangle(22, 124, 69, 22));
    msg_Content.setBorder(BorderFactory.createLineBorder(Color.black));
    msg_Content.setToolTipText("输入发送的短消息内容");
    msg_Content.setText("this is a test");
    msg_Content.setBounds(new Rectangle(99, 124, 483, 22));
    SendButton.setBorder(BorderFactory.createEtchedBorder());
    SendButton.setText("发送测试请求");
    SendButton.setBounds(new Rectangle(492, 161, 91, 22));
    SendButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        SendButton_actionPerformed(e);
      }
    });
    jLabel8.setText("启动的线程数");
    jLabel8.setBounds(new Rectangle(22, 161, 75, 22));
    ThreadNum.setBorder(BorderFactory.createLineBorder(Color.black));
    ThreadNum.setToolTipText("启动多个线程测试SmProxy提供的API");
    ThreadNum.setText("0");
    ThreadNum.setBounds(new Rectangle(99, 161, 76, 22));
    jLabel9.setText("执行时长");
    jLabel9.setBounds(new Rectangle(180, 161, 53, 22));
    threadRunInterval.setBorder(BorderFactory.createLineBorder(Color.black));
    threadRunInterval.setToolTipText("调用线程执行发送请求的时间长度");
    threadRunInterval.setText("0");
    threadRunInterval.setBounds(new Rectangle(237, 161, 76, 22));
    jLabel10.setText("查询日期");
    jLabel10.setBounds(new Rectangle(22, 190, 65, 22));
    QueryDate.setBorder(BorderFactory.createLineBorder(Color.black));
    QueryDate.setToolTipText("查询指定日期的短消息信息");
    QueryDate.setText("20011210");
    QueryDate.setBounds(new Rectangle(99, 190, 76, 22));
    jLabel11.setText("查询类别");
    jLabel11.setBounds(new Rectangle(180, 190, 57, 22));
    QueryType.setBorder(BorderFactory.createLineBorder(Color.black));
    QueryType.setToolTipText("0:查询总数,1:按照业务代码查询");
    QueryType.setText("0");
    QueryType.setBounds(new Rectangle(238, 190, 76, 22));
    jLabel12.setText("业务类型");
    jLabel12.setBounds(new Rectangle(320, 190, 54, 22));
    QueryCode.setBorder(BorderFactory.createLineBorder(Color.black));
    QueryCode.setToolTipText("");
    QueryCode.setText("good news");
    QueryCode.setBounds(new Rectangle(377, 190, 76, 22));
    QueryButton.setBorder(BorderFactory.createEtchedBorder());
    QueryButton.setText("发送查询请求");
    QueryButton.setBounds(new Rectangle(492, 190, 91, 22));
    QueryButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        QueryButton_actionPerformed(e);
      }
    });
    jLabel13.setToolTipText("");
    jLabel13.setText("消息标识");
    jLabel13.setBounds(new Rectangle(22, 221, 64, 22));
    CancelMsgId.setBorder(BorderFactory.createLineBorder(Color.black));
    CancelMsgId.setToolTipText("发送短消息请求的时候指定的消息ID");
    CancelMsgId.setBounds(new Rectangle(99, 221, 131, 22));
    CancelButton.setBorder(BorderFactory.createEtchedBorder());
    CancelButton.setToolTipText("");
    CancelButton.setText("发送取消请求");
    CancelButton.setBounds(new Rectangle(299, 221, 111, 22));
    CancelButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        CancelButton_actionPerformed(e);
      }
    });
    jLabel14.setFont(new java.awt.Font("Dialog", 0, 14));
    jLabel14.setBorder(BorderFactory.createEtchedBorder());
    jLabel14.setText("统计数据");
    jLabel14.setBounds(new Rectangle(63, 262, 61, 22));
    jLabel15.setText("发送消息总数");
    jLabel15.setBounds(new Rectangle(24, 293, 81, 22));
    SendMsgSum.setBorder(BorderFactory.createEtchedBorder());
    SendMsgSum.setEditable(false);
    SendMsgSum.setBounds(new Rectangle(113, 293, 74, 22));
    jLabel16.setToolTipText("");
    jLabel16.setText("成功发送消息数");
    jLabel16.setBounds(new Rectangle(24, 320, 90, 22));
    SuccessSendSum.setBorder(BorderFactory.createEtchedBorder());
    SuccessSendSum.setEditable(false);
    SuccessSendSum.setBounds(new Rectangle(113, 320, 74, 22));
    jLabel17.setText("接收消息总数");
    jLabel17.setBounds(new Rectangle(24, 347, 85, 22));
    RecvMsgSum.setBorder(BorderFactory.createEtchedBorder());
    RecvMsgSum.setToolTipText("Smc下发的消息的总素");
    RecvMsgSum.setEditable(false);

⌨️ 快捷键说明

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