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

📄 mycngpdemo1.java

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

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

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

import demo.cmppdemo20.*;

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;
import java.text.DateFormat;

public class MyCngpDemo1 extends JFrame{

  private static Args args;

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

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

  //定义CNGP_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送达失败的数量

  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 MyCngpDemo1()
  {
    /**@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);

      //显示当前软件版本号
      showStateMsg("current version: " + getVersion());
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }

  private static String version = "infoXV100R001.4D201";

  /**
   * 获取软件版本号
   */
  private static String getVersion() {
    return version;
  }

  /**
   * 发送消息线程的线程体,负责发送消息。
   */
   public void Task()
   {
      sendMsgSum ++;
      //发送短消息请求,并对返回的消息做解析,生成统计数据
      //对于出现的异常则交给SendReqThread去捕获处理.
      try
      {
          ProcessSubmitRep(smp.send(getSubmitMsg()));
      } 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 SendReqThread("test",this,timeLong,sleepInterval).start();
//      }
   }

  /**
   * 程序入口。
   */
  public static void main(String[] a) throws Exception {
    new MyCngpDemo().show();
    args = new Cfg("app.xml",false).getArgs("CNGPConnect");
  }
  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("075540512345678");
    fee_Terminal_Id.setBounds(new Rectangle(305, 61, 131, 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("106213512345678");
    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.setText("07551234");
    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, 76, 22));
    threadRunInterval.setBorder(BorderFactory.createLineBorder(Color.black));
    threadRunInterval.setToolTipText("调用线程执行发送请求的时间长度");
    threadRunInterval.setText("0");
    threadRunInterval.setBounds(new Rectangle(257, 161, 56, 22));


    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, 76, 22));
    threadSleepInterval.setBorder(BorderFactory.createLineBorder(Color.black));
    threadSleepInterval.setText("0");
    threadSleepInterval.setBounds(new Rectangle(397, 161, 56, 22));
    jLabel22.setBorder(BorderFactory.createEtchedBorder());
    jLabel22.setText("运行状态");
    jLabel22.setBounds(new Rectangle(26, 381, 70, 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.setText("SP");
    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));
    loginButton.setBorder(BorderFactory.createEtchedBorder());
    loginButton.setText("登录系统");
    loginButton.setBounds(new Rectangle(470, 21, 105, 22));
    loginButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        loginButton_actionPerformed(e);
      }
    });
    CancelButton.setBorder(BorderFactory.createEtchedBorder());
    CancelButton.setToolTipText("");
    CancelButton.setText("发送取消请求");
    CancelButton.setBounds(new Rectangle(470, 61, 105, 22));
    CancelButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        CancelButton_actionPerformed(e);
      }
    });

    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScrollPane1.setBounds(new Rectangle(200, 203, 385, 172));
    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("3");
    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(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(CancelButton, null);
    this.getContentPane().add(jLabel14, null);
    this.getContentPane().add(jScrollPane1, null);
    jScrollPane1.getViewport().add(allRecvContent, null);
    this.getContentPane().add(RecvMsgSum, null);
    this.getContentPane().add(jLabel15, null);
    this.getContentPane().add(jLabel16, null);
    this.getContentPane().add(SuccessSendSum, null);
    this.getContentPane().add(SendMsgSum, null);
    this.getContentPane().add(jLabel17, null);
    this.getContentPane().add(myProxyState, null);
    this.getContentPane().add(jLabel22, null);
    this.getContentPane().add(dest_Terminal_Id, null);
    this.getContentPane().add(src_Terminal_Id, null);
    this.getContentPane().add(jLabel6, null);
    this.getContentPane().add(jLabel5, null);
    this.getContentPane().add(msg_Content, null);
    this.getContentPane().add(jLabel7, null);
    this.getContentPane().add(SendButton, null);
    this.getContentPane().add(jLabel4, null);
    this.getContentPane().add(loginButton, null);
    this.getContentPane().add(jLabel1, null);
    this.getContentPane().add(calledFrom, null);
    this.getContentPane().add(jLabel18, null);
    this.getContentPane().add(calledTo, null);
  }
  /**
   * 处理用户发送短消息的测试请求.
   */
  void SendButton_actionPerformed(ActionEvent e)
  {
     int threadNum = 0;
     int runInterval = 0;
     int sleepInterval = 0;

     //如果没有成成功登录
     if(!loginSmProxy)
     {
        showStateMsg("系统没有成功登录");
        return ;
     }

     try
     {
       threadNum= Integer.parseInt(ThreadNum.getText().trim());
       runInterval  = Integer.parseInt(threadRunInterval.getText().trim());
       sleepInterval = Integer.parseInt(threadSleepInterval.getText().trim());
     }
     catch(Exception ex)   //such as 用户没有输入线程数或者是其他非法字符的时候

⌨️ 快捷键说明

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