Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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# 通过3G调制解调器发送多条短信(AT命令)_C#_Serial Port_Sms_At Command_Modem - Fatal编程技术网

C# 通过3G调制解调器发送多条短信(AT命令)

C# 通过3G调制解调器发送多条短信(AT命令),c#,serial-port,sms,at-command,modem,C#,Serial Port,Sms,At Command,Modem,我想通过3G调制解调器向大约500个GSM号码/用户发送多条短信 在20-30短消息之后,它不会从串行端口返回任何值(void),并且调制解调器正在锁定。。。当我断开USB调制解调器并再次连接时,问题暂时解决了 我怎样才能永久解决这个问题 for (int i = 0; i < 500; i++) { serialPort.Write("AT+CMGF=1\r"); Thread.Sle

我想通过3G调制解调器向大约500个GSM号码/用户发送多条短信

在20-30短消息之后,它不会从串行端口返回任何值(void),并且调制解调器正在锁定。。。当我断开USB调制解调器并再次连接时,问题暂时解决了

我怎样才能永久解决这个问题

        for (int i = 0; i < 500; i++)
            {
                serialPort.Write("AT+CMGF=1\r");
                Thread.Sleep(1000);
                serialPort.Write("AT+CMGS=\"" + "phonenumber" + "\"\r\n");
                Thread.Sleep(1000);
                serialPort.Write("Hi:"+i.ToString() + "\x1A");
                Thread.Sleep(3000);

                string t = serialPort.ReadExisting();

                if(t.Length>0)
                    ....
                else
                    .....
            } 
for(int i=0;i<500;i++)
{
serialPort.Write(“AT+CMGF=1\r”);
睡眠(1000);
serialPort.Write(“AT+CMGS=\”“+”电话号码“+”\”\r\n”);
睡眠(1000);
serialPort.Write(“Hi:”+i.ToString()+“\x1A”);
睡眠(3000);
字符串t=serialPort.ReadExisting();
如果(t.长度>0)
....
其他的
.....
} 

我刚刚写了以下内容,同样适用于你的问题:

这种做法会导致任何问题吗?
这是最差的单曲初学者 关于AT命令处理,您可能会犯错误。你应该 永远,永远,永远,永远,永远不要使用线程。睡眠或类似的东西。这就像踢狗一样有用 挡住你的路,让他们动起来。是的,你可能很幸运 有时让它真的起作用,但在某个时候你会 很抱歉采取这种方式

对于这个问题,我们不清楚问题是什么,但就你的情况而言,我认为这是核心问题。您不能只是在调制解调器上抛出一堆AT命令,然后稍后再尝试赶上ReadExisting。这永远不会可靠地起作用


您必须以适当的方式读取和解析从调制解调器接收到的所有内容(请参见上面链接的我的答案)。

我刚刚写了以下内容,它同样适用于您的问题:

这种做法会导致任何问题吗?
这是最差的单曲初学者 关于AT命令处理,您可能会犯错误。你应该 永远,永远,永远,永远,永远不要使用线程。睡眠或类似的东西。这就像踢狗一样有用 挡住你的路,让他们动起来。是的,你可能很幸运 有时让它真的起作用,但在某个时候你会 很抱歉采取这种方式

对于这个问题,我们不清楚问题是什么,但就你的情况而言,我认为这是核心问题。您不能只是在调制解调器上抛出一堆AT命令,然后稍后再尝试赶上ReadExisting。这永远不会可靠地起作用

您必须以适当的方式读取和解析从调制解调器接收到的所有内容(参见上面链接的我的答案)