C# 通过C语言使用AT命令发送短信#
我已经用C#编写了短信应用程序。我的问题是:我想向多个用户发送短信。但是,它发送给一个用户。怎么了 这是我的密码:C# 通过C语言使用AT命令发送短信#,c#,sms,C#,Sms,我已经用C#编写了短信应用程序。我的问题是:我想向多个用户发送短信。但是,它发送给一个用户。怎么了 这是我的密码: public void openPort() { port.Close(); port.PortName = "COM11"; port.ReceivedBytesThreshold = 1; port.BaudRate = 115200; port.DtrEnable = true;
public void openPort()
{
port.Close();
port.PortName = "COM11";
port.ReceivedBytesThreshold = 1;
port.BaudRate = 115200;
port.DtrEnable = true;
port.Open();
}
public void sendSMS(string mmobil)
{
this.mobil = mmobil;
port.WriteLine("AT\r");
port.WriteLine("AT+CMGF=1\r");
port.WriteLine("AT+CMGS=\"" + mmobil + "\"\r");
port.WriteLine("TEST" + '\x001a');
}
static void Main(string[] args)
{
List <string>mymobil= new List<string>();
mymobil.Add("+316207XXX");
mymobil.Add("+316141XXX");
foreach (string mobil in mymobil)
{
openPort();
sendSMS(mobil);
}
}
public void openPort()
{
port.Close();
port.PortName=“COM11”;
port.ReceivedBytesThreshold=1;
波特率=115200;
port.DtrEnable=true;
port.Open();
}
公共void sendSMS(字符串mmobil)
{
this.mobil=mmobil;
端口写入线(“AT\r”);
port.WriteLine(“AT+CMGF=1\r”);
port.WriteLine(“AT+CMGS=\”“+mmobil+”\“\r”);
port.WriteLine(“测试“+”\x001a”);
}
静态void Main(字符串[]参数)
{
List mymobil=新列表();
mymobil.加上(“+316207XXX”);
mymobil.加上(“+316141XXX”);
foreach(mymobil中的字符串mobil)
{
openPort();
sendSMS(mobil);
}
}
我建议您先阅读设备用户手册,我认为在您发送第一条短信后应该会有一个延迟,可能设备会返回一些您必须阅读的内容以清除缓冲区,然后再次发送。这完全取决于您使用的设备。如果您使用的是第三方SMPP提供商,那么您必须要求他们允许发送多个用户,否则使用“;”每个号码
谢谢我想你没有在短信后发送所需的转义字符。您应该发送ASCII字符ESC,十进制为27,十六进制为1B。我认为所有提供商都允许用户发送多条短信,更可能是在您的手机中选择多个联系人向他们发送短信。