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

📄 senddatathread.java~1~

📁 本人为友邦公司做的模拟网关源代码
💻 JAVA~1~
字号:
package smsc;import java.io.*;import java.util.*;import java.lang.*;/** * Title: * Description: * Copyright:    Copyright (c) 2002 * Company:      TalkWeb Ltd. * @author       Li  yongjun * @version      2.0 */public class SendDataThread extends Thread{   private int m_nSendMode;   private boolean m_bReturn;   public SendDataThread(int nSendMode)   {      m_nSendMode = nSendMode;   }   public void stopThread()   {      m_bReturn = true;   }   void fillMsgHead(SmscShortMsg sm)   {      sm.headCmdStatus = 0;      sm.headCmdID  = Constants.nMsgType;      sm.headSeqcNo = Constants.getSequence();   }   void fillMsgBody(SmscShortMsg sm)   {      sm.msgServiceType      = Constants.smscMsg.msgServiceType;      sm.msgSourceAddress    = Constants.smscMsg.msgSourceAddress;      sm.msgSourceAddressNpi = Constants.smscMsg.msgSourceAddressNpi;      sm.msgSourceAddressTon = Constants.smscMsg.msgSourceAddressTon;      sm.msgDestAddress      = Constants.smscMsg.msgDestAddress;      sm.msgDestAddressNpi   = Constants.smscMsg.msgDestAddressNpi;      sm.msgDestAddressTon   = Constants.smscMsg.msgDestAddressTon;      sm.msgEsmClass     = Constants.smscMsg.msgEsmClass;      sm.msgProtocolID   = Constants.smscMsg.msgProtocolID;      sm.msgPriorityFlag = Constants.smscMsg.msgPriorityFlag;      sm.msgScheduleDeliveryTime  = Constants.smscMsg.msgScheduleDeliveryTime;      sm.msgValidityPeroid        = Constants.smscMsg.msgValidityPeroid;      sm.msgRegisterdDeliveryFlag = Constants.smscMsg.msgRegisterdDeliveryFlag;      sm.msgReplaceIfPresentFlag  = Constants.smscMsg.msgReplaceIfPresentFlag;      sm.msgDataCoding     = Constants.smscMsg.msgDataCoding;      sm.msgSmDefaultMsgID = Constants.smscMsg.msgSmDefaultMsgID;      sm.msgSmLength       = (byte)Constants.smscMsg.msgShortMsgText.length();      sm.msgShortMsgText   = Constants.smscMsg.msgShortMsgText;   }   public void run()   {      boolean bResp;      int nCount = 0;      int nTotal = 0;      Timer timerSM = null;      SmscShortMsg sm = null;      SetReturn setReturn = null;      sm = new SmscShortMsg();      fillMsgBody(sm);      if(Constants.strDestAddr == null || Constants.strDestAddr.length() <= 0)      {         SMSCFrame.SendArea.append("Dest address is null, send failed .\n");         return ;      }      Constants.SEND_FLAG = false;      if(m_nSendMode == Constants.NUMBER)      {         SMSCFrame.SendArea.append("Start time : " + Constants.formatDateTime()  + " .\n");         while(nCount++ < Constants.nMsgNumber && m_bReturn == false)         {            //sm = new SmscShortMsg();            bResp = sendMsg(sm);            if(nCount == 1)   Constants.nStartNumber = sm.headSeqcNo;            if(bResp)   nTotal++;            if(Constants.nTimeInterval > 0)  Constants.threadSleep(Constants.nTimeInterval);         }         Constants.nEndNumber = sm.headSeqcNo;         SMSCFrame.SendArea.append("End time : " + Constants.formatDateTime()  + " .\n");         SMSCFrame.SendArea.append("Send mode : " + m_nSendMode +                                   " Message type : " + Constants.nMsgType +                                   " Message number : " + nTotal + " .\n");      }      else if(m_nSendMode == Constants.TIME)      {         m_bReturn = false;         timerSM = new Timer();         setReturn = new SetReturn(this);         timerSM.scheduleAtFixedRate(setReturn, Constants.nMsgTime*1000, 1000);         SMSCFrame.SendArea.append("Time : " + Constants.nMsgTime + "   Interval : " +                                   Constants.nTimeInterval + " .\n");         SMSCFrame.SendArea.append(Constants.formatDateTime() + "\n");         while(m_bReturn==false)         {            //sm = new SmscShortMsg();            bResp = sendMsg(sm);            if(bResp)   nTotal++;            if(Constants.nTimeInterval > 0)  Constants.threadSleep(Constants.nTimeInterval);         }         Constants.nEndNumber = sm.headSeqcNo;         SMSCFrame.SendArea.append(Constants.formatDateTime() + "\n");         SMSCFrame.SendArea.append("Send mode : " + m_nSendMode +                                   " Message type : " + Constants.nMsgType +                                   " Message number : " + nTotal + " .\n");      }      else         SMSCFrame.RecvArea.append("Send thread : UNKNOWN send mode .\n");      Constants.SEND_FLAG = true;      return ;   }   boolean sendMsg(SmscShortMsg sm)   {      boolean bResp;      fillMsgHead(sm);      //fillMsgBody(sm);      bResp = SMSCConnectionManager.instance().send(sm, Constants.strDestAddr);      return bResp;   }}class SetReturn extends TimerTask{   SendDataThread send = null;   SetReturn(SendDataThread sendThread)   {      send = sendThread;   }   public  void run()   {      send.stopThread();   }}

⌨️ 快捷键说明

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