J'envoie des SMS par commandes AT avec téléphone portable GSM. Je veux envoyer la majeure partie du message comme des milliers. J'ai lu que par GSM mobile, nous pouvons envoyer 6-8 sms par minute. Mais quand j'envoie des messages, quelqu'un s'en va et quelqu'un d'autre. J'obtiens des informations de fichier Excel signifie le numéro de destination et le texte du message. Pouvez-vous me dire pourquoi certains sms vont et d'autres pas. Mon code estLes commandes SMS par AT avec GSM mobile donnent une erreur
SmsFields smsObj = null;
List<SmsFields> smsColl = null;
SerialPort serialport = null;
StringBuilder strbuild = new StringBuilder();
try
{
//Validate the form
if (!Validation()) return;
serialport = new SerialPort();
////Sets the properties of serial port object
serialport.PortName = cboPort.SelectedItem.ToString();
serialport.BaudRate = 9600;
serialport.Parity = Parity.None;
serialport.DataBits = 8;
serialport.StopBits = StopBits.One;
serialport.Handshake = Handshake.RequestToSend;
serialport.DtrEnable = true;
serialport.RtsEnable = true;
//Open the port to send sms
serialport.Open();
//Check if port is opened or not
if (!serialport.IsOpen)
{
MessageBox.Show("Serial port is not opened. Please try with other port");
return;
}
//Create smsFields class's object and fill the data in the generic collection
smsObj = SmsFields.Instance;
smsColl = smsObj.FillData(txtFilePath.Text);
if (smsColl == null)
{
MessageBox.Show("No data found in the excel table");
return;
}
//Gets the single record from SmsFields class and sends the message
foreach (SmsFields sms in smsColl)
{
//checks phone status
serialport.WriteLine("AT" + Environment.NewLine);
//Configures message as SMS (0 for PDU format) and (1 for text format)
serialport.WriteLine("AT+CMGF=1" + Environment.NewLine);
//Sets message center number
serialport.WriteLine("AT+CSCA=\"" + txtServiceNo.Text + "\"" + Environment.NewLine);
//Sets destination number
serialport.WriteLine("AT+CMGS=\"" + sms.DestinationNo + "\"" + Environment.NewLine);
//Specifies message and sends Ctrl+z
serialport.WriteLine(sms.Message + (char)26);
//Displays buffer containing output messages
System.Threading.Thread.Sleep(4000);
}
Merci pour la réponse, mais comme j'ai écrit que certains sms vont et certains montrant une erreur dans l'envoi. Alors, quelle devrait être la raison derrière tout cela? Parce que j'envoie un gros lot de sms. Je reçois la réponse de chaque commande par ceci. serialport.ReadExisting(); Pouvez-vous me dire pourquoi certains SMS vont et répondre «OK» et certains ne vont pas et répondre «Erreur»? – Deepak
Avez-vous vérifié si les erreurs sont aléatoires ou si certains messages passent toujours et certains échouent toujours? Je suppose que le message ou l'adresse est toujours mal formé, ou votre téléphone ne peut pas traiter autant de messages. –
Salut, Oui, vous avez raison. Je reçois un problème au hasard pour envoyer des sms. Plusieurs fois, des sms sont envoyés à certains membres et la prochaine fois ils ne seront pas envoyés à ces membres.Pourriez-vous s'il vous plaît laissez-moi savoir que ce problème peut être dans mon code. Merci pour la réponse – Deepak