C# SerialPort 连续发送短信,报“操作已超时”,在线等
//注销事件关联,为发送做准备
sp.DataReceived -= sp_DataReceived;
sp.WriteLine("AT+CMGS=" + len.ToString());
sp.ReadTo(">");//第一条发送正常,第二条发送短信,这个位置,报“操作已超时”
sp.DiscardInBuffer();
Stopwatch sw = new Stopwatch();
TimeSpan ts = new TimeSpan(0, 0, 3);
sw.Start();//计时开始
sp.WriteLine(temp + (char)(26)); //26 Ctrl+Z ascii码
while (true)
{
if (sp.ReadExisting() == "OK")
{
break;
}
if (sw.Elapsed > ts)//如果3秒内,无法得到信息,则跳出循环
{
break;
}
}
//事件重新绑定 正常监视串口数据
sp.DataReceived += sp_DataReceived;
我根据网上搜到的实例,根据自己的理解修改的
有几个疑问,1.为什么网上的实例发送指令之后,都要Sleep一下呢?有没有其他方式?
2.如何判断发送短信成功,如果对方关机等情况,我接收不到短信发送成功,怎么办?
3.如何判断,我可以再次发送短信?
4.如何高效率的发送短信,只负责发送短信!
5.不正常关闭的程序的情况,无法再次连接短信猫,如何处理,报COM1无法访问,我现在处理方式就是拔掉短信猫电源,然后重新程序 - -!
6.最重要的问题:我发送短信第一条发送正常,第二条发送短信,报“操作已超时”,以此类推,
跪求大神
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。