C# 通过3G调制解调器发送多条短信(AT命令)
我想通过3G调制解调器向大约500个GSM号码/用户发送多条短信 在20-30短消息之后,它不会从串行端口返回任何值(void),并且调制解调器正在锁定。。。当我断开USB调制解调器并再次连接时,问题暂时解决了 我怎样才能永久解决这个问题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
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。这永远不会可靠地起作用
您必须以适当的方式读取和解析从调制解调器接收到的所有内容(参见上面链接的我的答案)