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

📄 sgipdemo.java

📁 华为SGIP网关测试演示程序实例 包含源代码.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package demo.sgipdemo;

//不应使用到com.huawei.insa2包内的类
import com.huawei.smproxy.*;
import com.huawei.smproxy.comm.sgip.message.*;
import com.huawei.smproxy.util.*;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.lang.Thread;

public class SGIPDemo extends JFrame {//implements DemoConst{

  private static Args args;

  /** 短信收发接口*/
  private MySGIPSMProxy 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 UserNumber [] = 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 loginbutton = new JToggleButton();
  JLabel jLabel13 = new JLabel();
  JTextField CancelMsgId = new JTextField();
  JButton logoutbutton = 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 initbutton = new JButton();
  JButton stopbutton = 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 SGIPDemo()
  {
    /**@todo 界面布局。*/
    try
    {
      jbInit();
      this.setSize(new Dimension(620,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 SGIPDemo().show();
    args = new Cfg("app.xml",false).getArgs("SGIPConnect");
  }
  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));
    loginbutton.setBorder(BorderFactory.createEtchedBorder());
    loginbutton.setText("登陆系统");
    loginbutton.setBounds(new Rectangle(492, 190, 91, 22));
    loginbutton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        loginbutton_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));
    logoutbutton.setBorder(BorderFactory.createEtchedBorder());
    logoutbutton.setToolTipText("");
    logoutbutton.setText("退出登陆");
    logoutbutton.setBounds(new Rectangle(492, 221, 91, 22));
    logoutbutton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        logoutbutton_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);
    RecvMsgSum.setBounds(new Rectangle(113, 348, 74, 22));
    jLabel21.setToolTipText("");
    jLabel21.setText("睡眠时长");
    jLabel21.setBounds(new Rectangle(320, 161, 56, 22));
    threadSleepInterval.setBorder(BorderFactory.createLineBorder(Color.black));
    threadSleepInterval.setText("0");
    threadSleepInterval.setBounds(new Rectangle(377, 161, 76, 22));
    jLabel22.setBorder(BorderFactory.createEtchedBorder());
    jLabel22.setText("运行状态 ");
    jLabel22.setBounds(new Rectangle(26, 381, 58, 22));
    myProxyState.setBorder(BorderFactory.createEtchedBorder());
    myProxyState.setEditable(false);
    myProxyState.setBounds(new Rectangle(101, 382, 484, 22));
    jLabel23.setToolTipText("");
    jLabel23.setText("登录帐号");
    jLabel23.setBounds(new Rectangle(23, 21, 66, 22));
    loginName.setBorder(BorderFactory.createLineBorder(Color.black));
    loginName.setBounds(new Rectangle(100, 21, 131, 22));
    jLabel24.setText("登录密码");
    jLabel24.setBounds(new Rectangle(243, 21, 60, 22));
    loginPass.setBorder(BorderFactory.createLineBorder(Color.black));
    loginPass.setBounds(new Rectangle(306, 21, 131, 22));
    initbutton.setBorder(BorderFactory.createEtchedBorder());
    initbutton.setText("初始化");
    initbutton.setBounds(new Rectangle(452, 21, 70, 22));
    initbutton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        initbutton_actionPerformed(e);
      }
    });
    stopbutton.setBorder(BorderFactory.createEtchedBorder());
    stopbutton.setText("关闭监听");
    stopbutton.setBounds(new Rectangle(532, 21, 70, 22));
    stopbutton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        stopbutton_actionPerformed(e);
      }
    });
    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScrollPane1.setBounds(new Rectangle(200, 253, 385, 122));
    allRecvContent.setLineWrap(true);
    jLabel1.setText("From");
    jLabel1.setBounds(new Rectangle(395, 95, 37, 20));
    jLabel18.setText("To");
    jLabel18.setBounds(new Rectangle(516, 94, 27, 19));
    calledFrom.setBorder(BorderFactory.createLineBorder(Color.black));
    calledFrom.setText("0");
    calledFrom.setBounds(new Rectangle(441, 93, 63, 22));
    calledTo.setBorder(BorderFactory.createLineBorder(Color.black));
    calledTo.setText("0");
    calledTo.setBounds(new Rectangle(547, 92, 62, 25));
    this.getContentPane().add(jLabel23, null);
    this.getContentPane().add(loginName, null);
    this.getContentPane().add(jLabel24, null);
    this.getContentPane().add(loginPass, null);
    this.getContentPane().add(service_Id, null);
    this.getContentPane().add(jLabel2, null);
    this.getContentPane().add(jLabel3, null);
    this.getContentPane().add(fee_Terminal_Id, null);
    this.getContentPane().add(msg_src, null);
    this.getContentPane().add(ThreadNum, null);
    this.getContentPane().add(jLabel8, null);
    this.getContentPane().add(jLabel9, null);
    this.getContentPane().add(threadSleepInterval, null);
    this.getContentPane().add(threadRunInterval, null);
    this.getContentPane().add(jLabel21, null);
    this.getContentPane().add(QueryDate, null);
    this.getContentPane().add(jLabel10, null);
    this.getContentPane().add(jLabel11, null);
    this.getContentPane().add(QueryCode, null);
    this.getContentPane().add(QueryType, null);
    this.getContentPane().add(jLabel12, null);
    this.getContentPane().add(CancelMsgId, null);
    this.getContentPane().add(logoutbutton, null);
    this.getContentPane().add(jLabel13, null);
    this.getContentPane().add(jLabel14, null);
    this.getContentPane().add(jScrollPane1, null);

⌨️ 快捷键说明

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