コード例 #1
0
        protected override void Process(Timer timer)
        {
            List <SMSQueue> queue = Context.GetSMSToUpdateStatus(Settings.Default.SMSCheckStatusBatchSize, DateTime.Now.Add(-Settings.Default.CheckStatusInterval)).ToList();

            foreach (SMSQueue sms in queue)
            {
                if (!string.IsNullOrEmpty(sms.SMSId))
                {
                    try
                    {
                        RoaminSMPP.SMPPCommunicator connection = SMPPPool.GetConnection(sms.ProviderId.Value, sms.source_addr);
                        SmppQuerySm queryPdu = new SmppQuerySm()
                        {
                            MessageId        = sms.SMSId,
                            SourceAddress    = sms.source_addr,
                            SourceAddressNpi = connection.NpiType,
                            SourceAddressTon = connection.TonType
                        };
                        connection.SendPdu(queryPdu);
                        lock (_syncLock)
                        {
                            if (!_sentMessages.ContainsKey(sms.SMSId))
                            {
                                _sentMessages.Add(sms.SMSId, sms.Id);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Trace.TraceWarning("Невозможно отправить сообщение с Id = {0}, ошибка: {1}", sms.Id, ex);
                    }
                }
            }
        }
コード例 #2
0
 /// <summary>
 /// Creates a QuerySmEventArgs.
 /// </summary>
 /// <param name="packet">The PDU that was received.</param>
 internal QuerySmEventArgs(SmppQuerySm packet) : base(packet)
 {
     _response = packet;
 }
コード例 #3
0
 /// <summary>
 /// Creates a QuerySmEventArgs.
 /// </summary>
 /// <param name="packet">The PDU that was received.</param>
 internal QuerySmEventArgs(SmppQuerySm packet) : base(packet)
 {
     QuerySmPdu = packet;
 }
コード例 #4
0
 public SmppQuerySmResp QueryMessage(SmppQuerySm packet)
 {
     throw new NotImplementedException();
 }