Я разработал SMS приложение (отправка/получение SMS с помощью GSM модема) с помощью этой библиотеки - http://www.scampers.org/steve/sms/libraries.htmGSM модем не отвечает 30сек (SMS приложение)
У меня есть таймер, который проверяет полученные сообщения каждые 3 секунды. Проблема заключается в том, что каждые несколько минут я получаю эту ошибку:
***
at GsmComm.GsmCommunication.GsmPhone.GsmComm.GsmCommunication.IProtocol.ReceiveAnything(String pattern)
at GsmComm.GsmCommunication.GsmPhone.GsmComm.GsmCommunication.IProtocol.ReceiveMultiple()
at GsmComm.GsmCommunication.GsmPhone.GsmComm.GsmCommunication.IProtocol.ExecAndReceiveMultiple(String command)
at GsmComm.GsmCommunication.GsmPhone.ListMessages(PhoneMessageStatus status)
at GsmComm.GsmCommunication.GsmCommMain.ReadMessages(PhoneMessageStatus status, String storage)
at SMS.BL.TimerCalls_rec.recProcessTimerEvent(Object sender, EventArgs e) in D:\Csharp\SMS GSM\SMS\BL\TimerCalls_rec.cs:line 57++++++++No data received from phone after waiting for 30000 ms.
Это является частью этого кода:
try
{
// Read all SMS messages from the storage
if (CommSetting.comm.IsConnected())
{
DecodedShortMessage[] messages = CommSetting.comm.ReadMessages(PhoneMessageStatus.All, PhoneStorageType.Phone);
foreach (DecodedShortMessage message in messages)
{
ReadMessage(message.Data);
//delete message
indexP = message.Index;
CommSetting.comm.DeleteMessage(indexP, PhoneStorageType.Phone);
}
}
}
catch (Exception err)
{
RIWL.log(err.StackTrace + "++++++++" + err.Message, "Error: ");
}
Это линия, где происходит ошибка:
DecodedShortMessage[] messages = CommSetting.comm.ReadMessages(PhoneMessageStatus.All, PhoneStorageType.Phone);
Любые идеи, почему время от времени модем не отвечает? Отправка/получение сообщений выполняется отдельно. При отправке SMS - чтение остановлено, а наоборот.
Могу ли я сделать что-нибудь еще, чтобы проверить, занят ли последовательный порт?
EDIT: Если это какая-либо помощь, в момент возникновения ошибки dllhost.exe - COM Surrogate появляется вскоре в процессах.
foreach (ShortMessage msg в сообщениях) ... SMSPDULib.SMS sms = новый SMSPDULib.SMS(); ... SMSPDULib.SMS.Fetch (sms, ref message); ... phoneNo = sms.PhoneNumber; – Alex
Большое спасибо – fnc12
приветствую вас ... – Alex