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

📄 smscconnection.java~1~

📁 本人为友邦公司做的模拟网关源代码
💻 JAVA~1~
📖 第 1 页 / 共 2 页
字号:
      return str;   }    /**     * 根据SMPP报文的长度字段从输入数据流中读取相应的报文     * 返回值: receivedData[0].length == 1   读取数据出错     */    public byte[] recv()//接受的数据不包含总共长度    {        byte[] btRecvData;        int dataSize;        int dataToReadLeft;        int dataThisTimeRead;        int dataTotalSizeToRead;        try        {            dataSize = dataInStream.readInt();            if(dataSize <= 4)            {               btRecvData = new byte[1];               btRecvData[0] = Constants.ERROR_OTHER;               return btRecvData;            }            //注意:recievedata 不包含消息包长度这四个字节            dataTotalSizeToRead = dataSize - 4;            btRecvData = new byte[dataTotalSizeToRead];            dataToReadLeft = dataTotalSizeToRead;            while(dataToReadLeft > 0)            {                dataThisTimeRead = dataInStream.read(btRecvData,dataTotalSizeToRead - dataToReadLeft,dataToReadLeft);                dataToReadLeft -= dataThisTimeRead;            }        }        catch(InterruptedIOException e)        {            btRecvData = new byte[1];            btRecvData[0] = Constants.ERROR_INTERRUPT;        }        catch(IOException e)        {            btRecvData = new byte[1];            btRecvData[0] = Constants.ERROR_SOCKET;        }        catch(Exception ex)        {           btRecvData = new byte[1];           btRecvData[0] = Constants.ERROR_OTHER;        }        return btRecvData;    }   public boolean send(SmscShortMsg sm)   {      int i;      boolean bResp;      byte[]  btMsg;      displaySendMsg(sm);      btMsg = sm.getPackage();      if(btMsg == null || btMsg.length <= 0)      {         SMSCFrame.SendArea.append("SMSC generate send package return null ......\n");         return false;      }      if(Constants.DISPLAY_BINARY)      {         for(i=0; i<btMsg.length; i++)         {            if(i%12 == 0 && i>0)  SMSCFrame.SendArea.append("\n");            SMSCFrame.SendArea.append("[" + btMsg[i] + "] ");         }         SMSCFrame.SendArea.append("\n\n");      }      bResp = send(btMsg);      /*      if(bResp)      {         if(sm.headCmdID == SmscConstants.SMPP_ENQUIRE_LINK_RESP && Constants.DISPLAY_ACTIVE == false)            return bResp;         SMSCFrame.SendArea.append("Send SMPP to " + PeerHost + " Seq : " +                                "[" + sm.headSeqcNo + "]" + " Command ID : " +                                "[" + sm.headCmdID + "] .\n\n" );      }      else         SMSCFrame.SendArea.append("Send SMPP failed, to " + PeerHost + " Seq : " +                                "[" + sm.headSeqcNo + "]" + " Command ID : " +                                "[" + sm.headCmdID + "] .\n\n" );      */      return bResp;   }   public boolean send(byte[] bb)   {      try      {         myoutputstream.write( bb );         myoutputstream.flush() ;         return true;      }      catch(NullPointerException e)      {         disconnect();         (SMSCConnectionManager.instance()).delConnection(myID);         return false;      }      catch (IOException e)      {         disconnect();         (SMSCConnectionManager.instance()).delConnection(myID);         return false;      }   }   public boolean disconnect()   {      try      {         myinputstream.close() ;         myoutputstream.close() ;         mySocket.close() ;         if(strBindType.equals(Constants.Receiver))         {            SMSCConnectionManager.instance().removeHost(PeerHost);         }      }      catch ( Exception e)      {         if(Constants.SMSC_DEBUG)            SMSCFrame.RecvArea.append("SMSC connection disconnect exception, " +                                      e.getMessage() + " .\n");      }      return true;   }   /*   private boolean heartBeat()   {      SmscShortMsg sm = new SmscShortMsg();      sm.headCmdID = SmscConstants.SMPP_ENQUIRE_LINK_RESP;      sm.headCmdStatus = 0;      sm.headSeqcNo = Constants.nSequence;      send(sm);      return true;   }   */   void displayRecvMsg(SmscShortMsg sm)   {      if(sm.headCmdID == SmscConstants.SMPP_ENQUIRE_LINK)      {         if(Constants.DISPLAY_ACTIVE)         {            SMSCFrame.RecvArea.append("COMMAND ID         = " + sm.headCmdID + "\n");            SMSCFrame.RecvArea.append("COMMAND STATUS     = " + sm.headCmdStatus + "\n");            SMSCFrame.RecvArea.append("Sequence NO        = " + sm.headSeqcNo + "\n");         }         return;      }      if(Constants.DISPLAY_MSG)      {         SMSCFrame.RecvArea.append("COMMAND ID         = " + sm.headCmdID + "\n");         SMSCFrame.RecvArea.append("COMMAND STATUS     = " + sm.headCmdStatus + "\n");         SMSCFrame.RecvArea.append("Sequence NO        = " + sm.headSeqcNo + "\n");         if(sm.headCmdID == SmscConstants.SMPP_SUBMIT_SM)         {            SMSCFrame.RecvArea.append("Service Type       = " + sm.msgServiceType + "\n");            SMSCFrame.RecvArea.append("Source address ton = " + sm.msgSourceAddressTon + "\n");            SMSCFrame.RecvArea.append("Source address npi = " + sm.msgSourceAddressNpi + "\n");            SMSCFrame.RecvArea.append("Source address     = " + sm.msgSourceAddress + "\n");            SMSCFrame.RecvArea.append("Dest   address ton = " + sm.msgDestAddressTon + "\n");            SMSCFrame.RecvArea.append("Dest   address npi = " + sm.msgDestAddressNpi + "\n");            SMSCFrame.RecvArea.append("Dest   address     = " + sm.msgDestAddress + "\n");            SMSCFrame.RecvArea.append("SM     class       = " + sm.msgEsmClass + "\n");            SMSCFrame.RecvArea.append("Protocol ID        = " + sm.msgProtocolID + "\n");            SMSCFrame.RecvArea.append("Priority flag      = " + sm.msgPriorityFlag + "\n");            SMSCFrame.RecvArea.append("Delivery time      = " + sm.msgScheduleDeliveryTime + "\n");            SMSCFrame.RecvArea.append("Validity peroid    = " + sm.msgValidityPeroid + "\n");            SMSCFrame.RecvArea.append("Register SM flag   = " + sm.msgRegisterdDeliveryFlag + "\n");            SMSCFrame.RecvArea.append("Replace flag       = " + sm.msgReplaceIfPresentFlag + "\n");            SMSCFrame.RecvArea.append("Data coding        = " + sm.msgDataCoding + "\n");            SMSCFrame.RecvArea.append("SM default msg ID  = " + sm.msgSmDefaultMsgID + "\n");            SMSCFrame.RecvArea.append("SM length          = " + sm.msgSmLength + "\n");            SMSCFrame.RecvArea.append("Short message text = " + sm.msgShortMsgText + "\n");         }         else if(sm.headCmdID == SmscConstants.SMPP_BIND_RECEIVER ||                 sm.headCmdID == SmscConstants.SMPP_BIND_TRANSMITTER)         {            SMSCFrame.RecvArea.append("System ID          = " + sm.bindSysID + "\n");            SMSCFrame.RecvArea.append("Password           = " + sm.bindSysPwd + "\n");            SMSCFrame.RecvArea.append("System type        = " + sm.bindSysType + "\n");            SMSCFrame.RecvArea.append("Interface version  = " + sm.bindSysVersion + "\n");            SMSCFrame.RecvArea.append("Ton                = " + sm.bindTon + "\n");            SMSCFrame.RecvArea.append("Npi                = " + sm.bindNpi + "\n");            SMSCFrame.RecvArea.append("Address range      = " + sm.bindAddrRange + "\n");         }         else if(sm.headCmdID == SmscConstants.SMPP_DELIVER_SM_RESP)         {            SMSCFrame.RecvArea.append("Ack message ID     = " + sm.ackMsgID + "\n");         }         else ;      }   }   void displaySendMsg(SmscShortMsg sm)   {      if(sm.headCmdID == SmscConstants.SMPP_ENQUIRE_LINK_RESP)      {         if(Constants.DISPLAY_ACTIVE)         {            SMSCFrame.SendArea.append("COMMAND ID         = " + sm.headCmdID + "\n");            SMSCFrame.SendArea.append("COMMAND STATUS     = " + sm.headCmdStatus + "\n");            SMSCFrame.SendArea.append("Sequence NO        = " + sm.headSeqcNo + "\n");         }         return;      }      if(Constants.DISPLAY_MSG)      {         SMSCFrame.SendArea.append("COMMAND ID         = " + sm.headCmdID + "\n");         SMSCFrame.SendArea.append("COMMAND STATUS     = " + sm.headCmdStatus + "\n");         SMSCFrame.SendArea.append("Sequence NO        = " + sm.headSeqcNo + "\n");         if(sm.headCmdID == SmscConstants.SMPP_DELIVER_SM)         {            SMSCFrame.SendArea.append("Service Type       = " + sm.msgServiceType + "\n");            SMSCFrame.SendArea.append("Source address ton = " + sm.msgSourceAddressTon + "\n");            SMSCFrame.SendArea.append("Source address npi = " + sm.msgSourceAddressNpi + "\n");            SMSCFrame.SendArea.append("Source address     = " + sm.msgSourceAddress + "\n");            SMSCFrame.SendArea.append("Dest   address ton = " + sm.msgDestAddressTon + "\n");            SMSCFrame.SendArea.append("Dest   address npi = " + sm.msgDestAddressNpi + "\n");            SMSCFrame.SendArea.append("Dest   address     = " + sm.msgDestAddress + "\n");            SMSCFrame.SendArea.append("SM     class       = " + sm.msgEsmClass + "\n");            SMSCFrame.SendArea.append("Protocol ID        = " + sm.msgProtocolID + "\n");            SMSCFrame.SendArea.append("Priority flag      = " + sm.msgPriorityFlag + "\n");            SMSCFrame.SendArea.append("Delivery time      = " + sm.msgScheduleDeliveryTime + "\n");            SMSCFrame.SendArea.append("Validity peroid    = " + sm.msgValidityPeroid + "\n");            SMSCFrame.SendArea.append("Register SM flag   = " + sm.msgRegisterdDeliveryFlag + "\n");            SMSCFrame.SendArea.append("Replace flag       = " + sm.msgReplaceIfPresentFlag + "\n");            SMSCFrame.SendArea.append("Data coding        = " + sm.msgDataCoding + "\n");            SMSCFrame.SendArea.append("SM default msg ID  = " + sm.msgSmDefaultMsgID + "\n");            SMSCFrame.SendArea.append("SM length          = " + sm.msgSmLength + "\n");            SMSCFrame.SendArea.append("Short message text = " + sm.msgShortMsgText + "\n");         }         else if(sm.headCmdID == SmscConstants.SMPP_BIND_TRANSMITTER_RESP ||                 sm.headCmdID == SmscConstants.SMPP_BIND_RECEIVER_RESP )         {            SMSCFrame.SendArea.append("System ID          = " + sm.bindSysID + "\n");         }         else if(sm.headCmdID == SmscConstants.SMPP_SUBMIT_SM_RESP)         {            SMSCFrame.SendArea.append("Ack message ID     = " + sm.ackMsgID + "\n");         }         else ;      }   }}

⌨️ 快捷键说明

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