Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GSM调制解调器,例外情况:等待30046毫秒后未收到来自手机的数据_C#_.net_Gsm - Fatal编程技术网

C# GSM调制解调器,例外情况:等待30046毫秒后未收到来自手机的数据

C# GSM调制解调器,例外情况:等待30046毫秒后未收到来自手机的数据,c#,.net,gsm,C#,.net,Gsm,我做了一个Windows服务,10毫秒后通过GSM库从调制解调器收到未读消息。一切都很顺利。但有时会随机记录“等待30046毫秒后未收到手机数据”异常,有时会记录“未连接手机”异常 comm = cs.comm; try { if (!comm.IsOpen()) { comm.Open();

我做了一个Windows服务,10毫秒后通过GSM库从调制解调器收到未读消息。一切都很顺利。但有时会随机记录“等待30046毫秒后未收到手机数据”异常,有时会记录“未连接手机”异常

            comm = cs.comm;

            try
            {
                if (!comm.IsOpen())
                {
                    comm.Open();
                }
            }
            catch (Exception ex)
            {
                Utility.LogMessage(ex.Message);
            }

            try
            {
                DecodedShortMessage[] messages = comm.ReadMessages(PhoneMessageStatus.ReceivedUnread, PhoneStorageType.Phone);

                foreach (DecodedShortMessage message in messages)
                {                                                
                  //Read sms   
                }
            }
            catch (Exception ex)
            {
                if (ex.Message != "Port not open.")
                {
                    Utility.LogMessage(ex.Message);
                }
            }

            comm.Close();
        }
        catch (Exception ex)
        {
            Utility.LogMessage(ex.Message);
        }
这是我的密码

            comm = cs.comm;

            try
            {
                if (!comm.IsOpen())
                {
                    comm.Open();
                }
            }
            catch (Exception ex)
            {
                Utility.LogMessage(ex.Message);
            }

            try
            {
                DecodedShortMessage[] messages = comm.ReadMessages(PhoneMessageStatus.ReceivedUnread, PhoneStorageType.Phone);

                foreach (DecodedShortMessage message in messages)
                {                                                
                  //Read sms   
                }
            }
            catch (Exception ex)
            {
                if (ex.Message != "Port not open.")
                {
                    Utility.LogMessage(ex.Message);
                }
            }

            comm.Close();
        }
        catch (Exception ex)
        {
            Utility.LogMessage(ex.Message);
        }
试一试 {

            comm = cs.comm;

            try
            {
                if (!comm.IsOpen())
                {
                    comm.Open();
                }
            }
            catch (Exception ex)
            {
                Utility.LogMessage(ex.Message);
            }

            try
            {
                DecodedShortMessage[] messages = comm.ReadMessages(PhoneMessageStatus.ReceivedUnread, PhoneStorageType.Phone);

                foreach (DecodedShortMessage message in messages)
                {                                                
                  //Read sms   
                }
            }
            catch (Exception ex)
            {
                if (ex.Message != "Port not open.")
                {
                    Utility.LogMessage(ex.Message);
                }
            }

            comm.Close();
        }
        catch (Exception ex)
        {
            Utility.LogMessage(ex.Message);
        }

连接断开,所以实施重试机制。先生,您能解释一下如何实施重试机制吗。