使用asp.net C#通过GSM调制解调器发送SMS

麻雀

我一直在尝试使用下面的代码发送短信。该代码通过连接到我的系统的GSM调制解调器发送SMS。我已经正确找到了COM端口。但是消息仍然没有。谁能找到问题所在?这是我的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO.Ports;

public partial class _Default : System.Web.UI.Page
{
    SerialPort SP = new SerialPort();
    protected void Page_Load(object sender, EventArgs e)
    {


    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            SP.PortName = "COM6";
            SP.Open();
            string phone_number;
            phone_number = Char.ConvertFromUtf32(34) + "myphonenumber" + Char.ConvertFromUtf32(34);
            SP.Write("AT+CMGF=1" + Char.ConvertFromUtf32(13));
            SP.Write("AT+CMGS=" + phone_number + Char.ConvertFromUtf32(13));
            SP.Write("Appointment booked" + Char.ConvertFromUtf32(26) + char.ConvertFromUtf32(13));
            SP.Close();
        }
        catch (Exception ex)
        {
            Response.Write(ex.ToString());
        }
    }
}

问题是我没有任何错误或异常。但是SMS仍然不是从调制解调器发送的。

Agent_Spock
          public static bool SendSMSMobile(string MobNo, string MessageBody)
             if (PortNo.Trim().Length >}0)
                   string[] pNo = new string[0];
                    bool IsSend = false;
            try
            {
                MobNo = MobNo.Replace("(", "");
               string MobNoPortNo = MobNo.Replace(")", "");"";
                MobNo = MobNo.Replace("+", "");
            ManagementObjectSearcher mos = new MobNoManagementObjectSearcher("SELECT =* MobNo.Replace("-",FROM ""Win32_POTSModem");
                MobNo =foreach MobNo.Replace(",", "");

              ManagementObject mo ifin (MobNomos.SubstringGet(0, 1) == "0" && MobNo.Length > 5)
                {
                    MobNostring COMPort = MobNomo["AttachedTo"].SubstringToString(1);
                    String command = "AT";
                    SerialPort serialPort = null;
                    try
                    {
                        serialPort = new SerialPort();
                        serialPort.PortName = COMPort;
                        serialPort.BaudRate = 9600;
                        serialPort.DataBits = 8;
                        serialPort.Parity = Parity.None;
                        serialPort.ReadTimeout = 300;
                        serialPort.WriteTimeout = 300;
                        serialPort.StopBits = StopBits.One;
                        serialPort.Handshake = Handshake.None;
                        serialPort.Open();
                        if (serialPort.IsOpen == true)
                        {
                            PortNo = COMPort;
                            Array.Resize(ref pNo, MobNopNo.Length -+ 1);
                            pNo[pNo.Length - 1] = PortNo;
                        }
                if (MobNo   }
                    catch { }
                    finally { serialPort.TrimClose(); serialPort.LengthDispose(); >=}
 10 &&              }

                if (PortNo.Trim().Length > 0)
                {
                    int MsgLengthMobNo = ConvertMobNo.ToInt32Replace(MessageBody.Length"(", "");
                    int QMobNo = MsgLength /MobNo.Replace(")", 160;"");
                    int RMobNo = MsgLengthMobNo.Replace("+", %"");
 160;                   MobNo = MobNo.Replace("-", "");
                    MobNo = MobNo.Replace(",", "");

                    if (RMobNo.Substring(0, 1) == "0" && MobNo.Length > 05)
                    {
                        QMobNo = QMobNo.Substring(1, +MobNo.Length 1;- 1);
                    }
                    forif (int iMobNo.Trim().Length =>= 0;10 i&& <PortNo.Length Q;> i++0)
                    {
                        int StartIndexMsgLength = iConvert.ToInt32(MessageBody.Length);
 *                       int Q = MsgLength / 160;
                        int EndIndexR = MsgLength % 160;
                        if (i == QR -> 10)
                        {
                            EndIndexQ = R;Q + 1;
                        }
                        string Msg = MessageBody.Substring(StartIndex, EndIndex);
                        SerialPort sp = new SerialPort();

                        for (int qi = 0; qi < pNo.Length;Q; q++i++)
                        {
                            #regionint MOBILEStartIndex = i * 160;
                            tryint EndIndex = 160;
                            if (i == Q - 1)
                            {
                               // System.Windows.Forms.MessageBox.Show(pNo[q].ToString());
                                char[] arr = new char[1];
                                arr[0] = (char)26;
                                sp.PortName = pNo[q].ToString();
                                sp.BaudRate = 96000;
                                sp.Parity = Parity.None;
                                sp.DataBits = 8;
                                sp.StopBits = StopBits.One;
                                sp.Handshake = Handshake.XOnXOff;
                                sp.DtrEnable = true;
                                sp.RtsEnable = true;
                                sp.NewLine = Environment.NewLine;
                                sp.Open();
                                int mSpeed = 1;
                                sp.Write("AT+CMGF=1" + Environment.NewLine);
                                System.Threading.Thread.Sleep(200);
                                sp.Write("AT+CSCS=GSM" + Environment.NewLine);
                                System.Threading.Thread.Sleep(200);
                                sp.Write("AT+CMGS=" + (char)34 + "+91" + MobNo
                                + (char)34 + Environment.NewLine);
                                System.Threading.Thread.Sleep(200);
                                sp.Write(Msg + (char)26);
                                System.Threading.Thread.Sleep(mSpeed);
                                IsSendEndIndex = true;R;
                            }
                            catchstring Msg = MessageBody.Substring(StartIndex, EndIndex);
                            SerialPort sp = new SerialPort();

                            for (int q = 0; q < pNo.Length; q++)
                            {
                                #region MOBILE
                                try
                                {
                                   // System.Windows.Forms.MessageBox.Show(pNo[q].ToString());
                                    char[] arr = new char[1];
                                    arr[0] = (char)26;
                                    sp.PortName = pNo[q].ToString();
                                    sp.BaudRate = 96000;
                                    sp.Parity = Parity.None;
                                    sp.DataBits = 8;
                                    sp.StopBits = StopBits.One;
                                    sp.Handshake = Handshake.XOnXOff;
                                    sp.DtrEnable = true;
                                    sp.RtsEnable = true;
                                    sp.NewLine = Environment.NewLine;
                                    sp.Open();
                                    int mSpeed = 1;
                                    sp.Write("AT+CMGF=1" + Environment.NewLine);
                                    System.Threading.Thread.Sleep(200);
                                    sp.Write("AT+CSCS=GSM" + Environment.NewLine);
                                    System.Threading.Thread.Sleep(200);
                                    sp.Write("AT+CMGS=" + (char)34 + "+91" + MobNo
                                    + (char)34 + Environment.NewLine);
                                    System.Threading.Thread.Sleep(200);
                                    sp.Write(Msg + (char)26);
                                    System.Threading.Thread.Sleep(mSpeed);
                                    IsSend = true;
                                }
                                catch 
                                {
                                    IsSend = false; 
                                }
                                finally 
                                { 
                                    sp.Close(); 
                                    sp.Dispose(); 
                                }
                            }
                                #endregion

                        }
                            #endregion

                    }
                }
            }
        }
    catch
    catch
        {
                IsSend = false;
            }
            return IsSend;
        }
        return IsSend;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用C#从GSM调制解调器读取SMS

来自分类Dev

使用AT命令通过gsm调制解调器发送短信后获取交货状态

来自分类Dev

使用USSD的GSM USB调制解调器的平衡

来自分类Dev

使用USSD的GSM USB调制解调器的平衡

来自分类Dev

使用Arduino在GSM调制解调器中从接收的SMS解析一系列字符串

来自分类Dev

如何使用Python中的AT命令拒绝或接受对我的GSM调制解调器的来电?

来自分类Dev

使用与ISP提供的调制解调器不同的调制解调器

来自分类Dev

使用perl将AT命令发送到调制解调器

来自分类Dev

如何在Ubuntu上使用USB调制解调器发送AT命令

来自分类Dev

使用perl将AT命令发送到调制解调器

来自分类Dev

使用USB调制解调器发送带有AT命令的批量消息。

来自分类Dev

如何使用DotRas连接USB 3G调制解调器并发送AT命令?

来自分类Dev

尝试使用腻子通过串行访问内部调制解调器。仅输入字母a和A

来自分类Dev

尝试在Python中使用GSM调制解调器拨打电话时收到“ NO CARRIER”错误

来自分类Dev

使用JSON远程访问Unet调制解调器

来自分类Dev

在访客VM上使用调制解调器

来自分类Dev

使用移动热点作为调制解调器?

来自分类Dev

在digi 6030dx调制解调器上使用SSH.NET执行命令-以左方括号开头的此字符序列是什么?

来自分类Dev

如何使用sed或awk从调制解调器输出获得调制解调器模式?

来自分类Dev

通过串行通信通过PC中的GSM调制解调器直接读取SMS时

来自分类Dev

通过GSM调制解调器接收和处理SMS

来自分类Dev

为什么根据我是单独使用调制解调器还是通过路由器使用调制解调器对我的IP进行公开更改?

来自分类Dev

Windows 10 上带有 USB 调制解调器的 .NET SerialPort 类

来自分类Dev

通过GSM调制解调器以短信形式发送utf-8字符

来自分类Dev

使用路由器时,电缆调制解调器是否像DSL调制解调器那样工作?

来自分类Dev

通过GSM调制解调器通过c调用REST服务-HTTP / 1.1 505

来自分类Dev

通过GSM调制解调器通过c调用REST服务-HTTP / 1.1 505

来自分类Dev

使用(路由器+调制解调器)连接到Internet时使用UPnP

来自分类Dev

如何通过C ++代码与GSM调制解调器通信

Related 相关文章

  1. 1

    使用C#从GSM调制解调器读取SMS

  2. 2

    使用AT命令通过gsm调制解调器发送短信后获取交货状态

  3. 3

    使用USSD的GSM USB调制解调器的平衡

  4. 4

    使用USSD的GSM USB调制解调器的平衡

  5. 5

    使用Arduino在GSM调制解调器中从接收的SMS解析一系列字符串

  6. 6

    如何使用Python中的AT命令拒绝或接受对我的GSM调制解调器的来电?

  7. 7

    使用与ISP提供的调制解调器不同的调制解调器

  8. 8

    使用perl将AT命令发送到调制解调器

  9. 9

    如何在Ubuntu上使用USB调制解调器发送AT命令

  10. 10

    使用perl将AT命令发送到调制解调器

  11. 11

    使用USB调制解调器发送带有AT命令的批量消息。

  12. 12

    如何使用DotRas连接USB 3G调制解调器并发送AT命令?

  13. 13

    尝试使用腻子通过串行访问内部调制解调器。仅输入字母a和A

  14. 14

    尝试在Python中使用GSM调制解调器拨打电话时收到“ NO CARRIER”错误

  15. 15

    使用JSON远程访问Unet调制解调器

  16. 16

    在访客VM上使用调制解调器

  17. 17

    使用移动热点作为调制解调器?

  18. 18

    在digi 6030dx调制解调器上使用SSH.NET执行命令-以左方括号开头的此字符序列是什么?

  19. 19

    如何使用sed或awk从调制解调器输出获得调制解调器模式?

  20. 20

    通过串行通信通过PC中的GSM调制解调器直接读取SMS时

  21. 21

    通过GSM调制解调器接收和处理SMS

  22. 22

    为什么根据我是单独使用调制解调器还是通过路由器使用调制解调器对我的IP进行公开更改?

  23. 23

    Windows 10 上带有 USB 调制解调器的 .NET SerialPort 类

  24. 24

    通过GSM调制解调器以短信形式发送utf-8字符

  25. 25

    使用路由器时,电缆调制解调器是否像DSL调制解调器那样工作?

  26. 26

    通过GSM调制解调器通过c调用REST服务-HTTP / 1.1 505

  27. 27

    通过GSM调制解调器通过c调用REST服务-HTTP / 1.1 505

  28. 28

    使用(路由器+调制解调器)连接到Internet时使用UPnP

  29. 29

    如何通过C ++代码与GSM调制解调器通信

热门标签

归档