Ejemplo n.º 1
0
        private void button4_Click(object sender, EventArgs e)
        {
            textBox4.Text = null;

            if (gm.IsOpen)
            {
                try
                {
                    DecodedMessage dm = gm.ReadMsgByIndex(Convert.ToInt32(textBox3.Text));
                    textBox4.Text = "Index:" + dm.SmsIndex + "短信中心:" + dm.ServiceCenterAddress + "\r\n" + "手机号码:" + dm.PhoneNumber + "\r\n" +
                                    "短信内容:" + dm.SmsContent + "\r\n" + "发送时间:" + dm.SendTime;
                    label9.Text      = "读取成功";
                    label9.ForeColor = Color.Green;
                }
                catch (Exception ee)
                {
                    LogInfo("ReadMsgByIndex: Exception:" + ee.ToString());
                    label9.Text      = "读取失败";
                    label9.ForeColor = Color.Red;
                    return;
                }
            }
            else
            {
                label9.Text      = "设备未连接";
                label9.ForeColor = Color.Red;
            }
        }
Ejemplo n.º 2
0
        private void btn_allunread_Click(object sender, EventArgs e)
        {
            List <DecodedMessage> result;
            string sResult = "";

            if (gm.IsOpen)
            {
                try
                {
                    result = gm.GetUnreadMsg(out sResult);

                    for (int i = 0; i < result.Count; i++)
                    {
                        DecodedMessage dm = result[i];
                        sResult += "Index:" + dm.SmsIndex + "短信中心:" + dm.ServiceCenterAddress + "\r\n" + "手机号码:" + dm.PhoneNumber + "\r\n" +
                                   "短信内容:" + dm.SmsContent + "\r\n" + "发送时间:" + dm.SendTime;
                    }
                }
                catch (Exception ee)
                {
                    LogInfo("allunread:at+cmgl=0 Exception:" + ee.ToString());
                    return;
                }
            }
            LogInfo("allunread:at+cmgl=0 Result:" + sResult);
        }
Ejemplo n.º 3
0
        //接收短信事件
        void gm_SmsRecieved(object sender, EventArgs e)
        {
            int            sMsgIndex = 0;
            DecodedMessage dm        = gm.ReadNewMsg(out sMsgIndex);

            //throw new NotImplementedException();
            Assert.Equal(1, dm.Total);
        }
 public async Task PublishAsync(DecodedMessage message)
 {
     // send over a network socket
     if (ShowMessages.PrintRealTimeFeed)
     {
         Console.WriteLine($"            Publish in real-time message {message.Counter} Sensor: { message.Label} { message.Value} { message.Unit} on thread {Thread.CurrentThread.ManagedThreadId}");
     }
     await Task.Delay(1);
 }
Ejemplo n.º 5
0
        private void gm_SmsRecieved(object sender, EventArgs e)
        {
            DecodedMessage dm = gm.ReadNewMsg();

            getphoneNumber = dm.PhoneNumber;
            getmsgContent  = dm.SmsContent;

            //throw new NotImplementedException();
        }
Ejemplo n.º 6
0
        public void GeneralSmsTest()
        {
            string         sca = "8613800511500";
            string         t   = "2011-05-29 10:53:20";
            string         p   = "15050850677";
            string         c   = "你好";
            DecodedMessage dm  = new DecodedMessage(0, sca, t, p, c);

            Assert.Equal(sca, dm.ServiceCenterAddress);
            Assert.Equal(t, dm.SendTime.ToString("yyyy-MM-dd HH:mm:ss"));
            Assert.Equal(p, dm.PhoneNumber);
            Assert.Equal(c, dm.SmsContent);
        }
Ejemplo n.º 7
0
        public void NotCompletedLongSmsTest()   //未完成长短信
        {
            string         head = "0201B2";
            string         sca  = "8613800511500";
            string         t    = "2011-05-20 21:30:59";
            string         p    = "8615050850677";
            string         c    = "GUDGKVBBgsscghjgdbgdfggrddswdh.kjhffyyhujko(;;((((((((())))))))))(;;..:,,((((((((((((.::...)))))))))))))....;;;;((((((((((((((;..:..;;((((.))))))))))))))";
            DecodedMessage dm   = new DecodedMessage(0, head, sca, t, p, c);

            Assert.Equal(sca, dm.ServiceCenterAddress);
            Assert.Equal(t, dm.SendTime.ToString("yyyy-MM-dd HH:mm:ss"));
            Assert.Equal(p, dm.PhoneNumber);
            Assert.Equal(c + "(...)", dm.SmsContent);
        }
Ejemplo n.º 8
0
 public void smsReadById(int Sms_ID)
 {
     if (gm.IsOpen)
     {
         try
         {
             DecodedMessage dm = gm.ReadMsgByIndex(Sms_ID);
             readPhoneNumber = dm.PhoneNumber;
             readMsgContent  = dm.SmsContent;
         }
         catch
         {
             Console.WriteLine("读取短信失败!");
         }
     }
 }
Ejemplo n.º 9
0
 void gm_SmsRecieved(object sender, EventArgs e)
 {
     if (gm.IsOpen)
     {
         try
         {
             int            sMsgIndex = 0;
             DecodedMessage dm        = gm.ReadNewMsg(out sMsgIndex);
             if (this.OnReceivedData != null)
             {
                 this.OnReceivedData(this, new ReceivedDataEventArgs(gm, dm));
             }
         }
         catch (Exception ex)
         { }
     }
 }
Ejemplo n.º 10
0
        public ActionResult Play(DecodedMessage msg)
        {
            var m = db.Messages.Where(ms => ms.Id == msg.MessageId).FirstOrDefault();

            DecodeResult dr = new DecodeResult();

            if (m != null)
            {
                double concordance = 0;
                if (!string.IsNullOrWhiteSpace(msg.OriginalMessage))
                {
                    concordance = m.Text.FuzzyCompare(msg.OriginalMessage);
                }
                dr.Fitness = concordance;
                dr.Score   = msg.Score;

                if (concordance > 0.85)
                {
                    dr.IsCorrect = true;
                }
                else
                {
                    dr.IsCorrect = false;
                }
            }
            else
            {
                dr.IsCorrect = false;
            }

            var login = MvcHelpers.GetUsername();
            var user  = db.Users.Where(a => a.Username == login).First();

            ViewBag.User     = login;
            user.Score       = (user.Score ?? 0) + (dr.IsCorrect ? msg.Score : -1);
            user.Complexity  = Math.Max(msg.Complexity, user.Complexity ?? 0) + (dr.IsCorrect ? 1 : 0);
            user.LastAttempt = DateTime.Now;
            user.Attempted   = (user.Attempted ?? 0) + 1;
            user.Deciphered  = (user.Deciphered ?? 0) + (dr.IsCorrect ? 1 : 0);
            db.SubmitChanges();

            dr.TotalScore = user.Score ?? 0;

            return(View("Result", dr));
        }
Ejemplo n.º 11
0
        private async Task StartPeriodicPersistenceAsync(CancellationToken token, TimeSpan interval, BlockingCollection <DecodedMessage> decodedMessages)
        {
            while (!token.IsCancellationRequested && !decodedMessages.IsAddingCompleted)
            {
                var batch = new List <DecodedMessage>();

                DecodedMessage message = null;
                while (decodedMessages.TryTake(out message))
                {
                    batch.Add(message);
                }

                if (batch.Any())
                {
                    await PersistAsync(batch);
                }

                await Task.Delay(interval);
            }
        }
Ejemplo n.º 12
0
        private void button5_Click(object sender, EventArgs e)
        {
            //
            textBox5.Text = null;

            if (label8.Text != "有新消息")
            {
                label8.Text      = "没有新消息";
                label8.ForeColor = Color.Red;
                return;
            }

            if (gm.IsOpen)
            {
                try
                {
                    int            sMsgIndex = 0;
                    DecodedMessage dm        = gm.ReadNewMsg(out sMsgIndex);
                    textBox5.Text = "Index:" + dm.SmsIndex + "\r\n 短信中心:" + dm.ServiceCenterAddress + "\r\n" + "手机号码:" + dm.PhoneNumber + "\r\n" +
                                    "短信内容:" + dm.SmsContent + "\r\n" + "发送时间:" + dm.SendTime;
                    label8.Text      = "读取成功";
                    label8.ForeColor = Color.Green;
                }
                catch (Exception ee)
                {
                    LogInfo("ReadNewMsg: Exception:" + ee.ToString());
                    label8.Text      = "读取失败";
                    label8.ForeColor = Color.Red;
                    return;
                }
            }
            else
            {
                label8.Text      = "设备未连接";
                label8.ForeColor = Color.Red;
            }
        }
Ejemplo n.º 13
0
        void gm_SmsRecieved(object sender, EventArgs e)
        {
            lock (this)
                if (gm.IsOpen)
                {
                    try
                    {
                        int            sMsgIndex = 0;
                        DecodedMessage dm        = gm.ReadNewMsg(out sMsgIndex);

                        ii++;
                        Console.WriteLine(ii + "   " + dm.SmsContent);///////////////////////////
                        Service.ServiceControl.log.Error("-----------" + ii + "-------------" + DateTime.Now);


                        if (this.OnReceivedData != null)
                        {
                            this.OnReceivedData(this, new ReceivedDataEventArgs(gm, dm));
                        }
                    }
                    catch (Exception ex)
                    {
                        Service.ServiceControl.log.Error(DateTime.Now + "接收出现异常," + ex.ToString());

                        try
                        {
                            Stop();
                            System.Threading.Thread.Sleep(5 * 1000);
                            Start();
                            Console.WriteLine("接收出现异常,重启了!");
                        }
                        catch (Exception ee)
                        { Service.ServiceControl.log.Error(DateTime.Now + "重启异常,gsm信道目前状态:" + gm.IsOpen.ToString() + "   " + ee.ToString()); }
                    }
                }
        }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {
            string text, key;

            while (true)
            {
                Console.WriteLine("What to do?");
                Console.WriteLine("1. Encrypt");
                Console.WriteLine("2. Decrypt");
                Console.WriteLine("0. Exit");
                Task task = (Task)Convert.ToInt32(Console.ReadLine());
                if (task == Task.Exit)
                {
                    break;
                }
                Console.WriteLine("Which cipher?");
                Console.WriteLine("1. Vigenere");
                Console.WriteLine("2. Caesar");
                Cipher cipher = (Cipher)Convert.ToInt32(Console.ReadLine()) - 1;
                switch (task)
                {
                case Task.Encrypt:
                    text = GetText();
                    key  = GetKey();
                    switch (cipher)
                    {
                    case Cipher.Vigenere:
                        Encode.Encoder encVig = new VigenereEncoder(text, key);
                        EncodedMessage msgVig = encVig.Create();
                        Console.WriteLine("Encrypted message: {0}", msgVig.text);
                        break;

                    case Cipher.Caesar:
                        Encode.Encoder encCaesar = new CaesarEncoder(text, key);
                        EncodedMessage msgCaesar = encCaesar.Create();
                        Console.WriteLine("Encrypted message: {0}", msgCaesar.text);
                        break;
                    }
                    break;

                case Task.Decrypt:
                    text = GetText();
                    key  = GetKey();
                    switch (cipher)
                    {
                    case Cipher.Vigenere:
                        Decode.Decoder decVig = new VigenereDecoder(text, key);
                        DecodedMessage msgVig = decVig.Create();
                        Console.WriteLine("Decrypted message: {0}", msgVig.text);
                        break;

                    case Cipher.Caesar:
                        Decode.Decoder decCaesar = new CaesarDecoder(text, key);
                        DecodedMessage msgCaesar = decCaesar.Create();
                        Console.WriteLine("Decrypted message: {0}", msgCaesar.text);
                        break;
                    }
                    break;
                }
            }
            Console.ReadKey();
        }
 public RoutedMessage(int routeKey, DecodedMessage message)
 {
     RouteKey = routeKey;
     Message  = message;
 }
Ejemplo n.º 16
0
 public ReceivedDataEventArgs(GsmModem gsmmodel, DecodedMessage decodedmessage)
 {
     Gsmmodel       = gsmmodel;
     Decodedmessage = decodedmessage;
 }