当前位置:编程学习 > C#/ASP.NET >>

惠通 短信猫 发送短信时总是有前缀"未找到设备请连接惠通设备!"

 短信已经发动到了手机 但是在短信的前边会有"未找到设备请连接惠通设备!"   请教各位大侠怎么处理谢谢  主要源码

  

 public partial class _Default : System.Web.UI.Page
    {

        private string str = "15877301945";


        //基本配置信息
        public int i_port = 4;  //端口
        public int i_type = 0;
        public string str_sn = "868995833284507";  //注册码
        public string str_phone = "8613800916500"; //短信中心
        public string str_pz = "9600,N,8,1";       //串口通讯设置

        
        Szhto.SzhtoDLL objms = new Szhto.SzhtoDLL();


        protected void Page_Load(object sender, EventArgs e)
        {
            //加载端口号列表
            string[] Port = objms.YhGetComPort().Split(',');
            for (int i = 0; i < Port.Length; i++)
            {
                this.ddl_test.Items.Add(Port[i]);
            }
            ddl_test.Text = Port[0];

            this.text.Text = "惠通短信猫,asp.net功能测试" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        }


        protected void Button1_Click(object sender, EventArgs e)
        {
            //开启新的线程执行发送短信 [防止假死]
            System.Threading.ThreadStart start = new System.Threading.ThreadStart(SendMsg);
            System.Threading.Thread th = new System.Threading.Thread(start);
            th.ApartmentState = System.Threading.ApartmentState.STA;
            th.Start();     
        }

        //显示发送信息的结果
        public void SendMsg()
        {
            string at = objms.YhATCommand("AT");

            lit_mess.Text = SendMessage(str,this.text.Text);
        }



        /// 发送一条短信
        /// </summary>
        /// <param name="mobileNO">短信接收号码</param>
        /// <param name="msgInfo">短信内容</param>
        /// <returns>是否操作成功</returns>
        public string SendMessage(string mobileNO, string msgInfo)
        {
            //AxSzhto.AxSzhtoSms objms = new AxSzhto.AxSzhtoSms();
            //Szhto.SzhtoClass  objms = new Szhto.SzhtoClass();

            objms.waittime = 10;
            string str_Result = OpenPort().ToString();
            if (objms.smsStatus != "")
            {
                return "error";
            }
            string at = objms.YhATCommand("AT");
            if (at == "At")
            {
                if (str_Result == "000100101")
                {

                    str_Result = objms.YhSendSms(str_phone, mobileNO, msgInfo, i_type);
                    if (str_Result == "-1")
                        str_Result = "短信发送失败...建议10秒钟后重发";
                }
            }
            else 
            {
                Console.WriteLine("error");
            }
            return str_Result;
        }



        /// <summary>
        /// 打开设备端口
        /// </summary>
        /// <returns></returns>
        public string OpenPort()
        {          
            string str_return = "";           
            string ret = objms.YhOpenModem(i_port, str_pz, str_sn);
            if (ret.IndexOf("-1") > 0)
            {
                str_return = "端口打开失败,建议检查设备端口是否连接正常...";
            }
            else
            {
                str_return = "000100101";
            }
                  
            return str_return;
        }

        
    }



执行到string at = objms.YhATCommand("AT"); 的时候就提示设备为连接    很不理解的是 既然短信未连接为什么短信发送出去了   --------------------编程问答-------------------- 除
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,