10 ミリ秒後に GSM ライブラリを介してモデムから未読メッセージを受信する Windows サービスを作成しました。すべてがうまくいっています。ただし、ランダムに「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);
}