Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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#侦听器使用AT命令自动检测GSM调制解调器上的新传入SMS_C#_Ajax_Gsm_Modem_At Command - Fatal编程技术网

C#侦听器使用AT命令自动检测GSM调制解调器上的新传入SMS

C#侦听器使用AT命令自动检测GSM调制解调器上的新传入SMS,c#,ajax,gsm,modem,at-command,C#,Ajax,Gsm,Modem,At Command,我正在使用c#开发一个web应用程序,通过AT命令从GSM调制解调器发送和接收SMS 发送和接收工作正常。接收短信正在处理按钮点击事件,但我希望无论何时收到新短信,程序都应自动显示它。您不需要任何线程,只需要定义DataReceived事件,当任何新消息到达时,该事件将自动触发。您可以使用它的处理程序来读取消息 你需要设置 serialport1.DtrEnablle = true; serialport1.RtsEnable = true; 考虑到您已使用启用通知 AT+CNMI=1 AT&

我正在使用c#开发一个web应用程序,通过AT命令从GSM调制解调器发送和接收SMS


发送和接收工作正常。接收短信正在处理按钮点击事件,但我希望无论何时收到新短信,程序都应自动显示它。

您不需要任何线程,只需要定义DataReceived事件,当任何新消息到达时,该事件将自动触发。您可以使用它的处理程序来读取消息

你需要设置

serialport1.DtrEnablle = true;
serialport1.RtsEnable = true;
考虑到您已使用启用通知

AT+CNMI=1
AT&W

我想您需要轮询SMS收件箱并使用AJAX更新您的网页。也许可以添加接收按钮事件处理程序中的示例代码来说明您当前的解决方案。如何使用AT+CNMI检测新消息。好的,如何检测您应该在接收按钮单击事件中已解决的新消息(至少您在初始问题中声明)。我不擅长AJAX或.NET中的命令,但我认为您应该能够组合一些东西。也许可以重新表述您的问题,询问如何将receive button事件处理程序代码转换为AJAX轮询控件。如果您不希望这里的人为您提供现成的解决方案,他们将更有可能帮助您-向我们展示您的尝试。我在+CMGL=“ALL”处启动了该命令,通过该命令我可以获得sim卡中存储的所有短信。我可以做的一件事是,我可以创建一个线程,在给定的时间间隔后启动该命令,我不想使用该方法,这里是+CNMI的命令,当新消息出现时,它会给我指示,我只想执行这个命令,意思是当调制解调器收到消息时,这个命令会触发并给我一个响应,我只想捕获那个响应,但我不知道怎么做…我解决了这个问题…谢谢Filburt,我从你的评论中得到了一个重要的观点。。。