如果监控器短信发送失败,程序应该怎么处理?
1 用什么方法检测短信是否发送成功?一般用指令AT+CMGS= 来发送短信,如果返回error是否就可以判断发送短信失败了?
2 短信发送失败后需要重新发送,失败的短信会像手机一样存储在模块里面吗? 你试试就知道了
当时搞短信模块发现信号不好发什么返回都是错误,崩溃了好几天…… 1 用什么方法检测短信是否发送成功?
发送方在短信发送后,等待一个超时时间,如果在超时时间内收到接收方的ACK回应,则认为发送成功。
否则,发送失败(可能网络严重延迟或接收方故障),进行重发,如果达到最大重发次数,放弃对本条信息的发送,并产生一个告警(如LED闪烁状态改变或液晶显示),指示通讯异常。后面,如果收到ACK回应,则清除告警。 javabean 发表于 2013-5-15 11:04 static/image/common/back.gif
你试试就知道了
当时搞短信模块发现信号不好发什么返回都是错误,崩溃了好几天…… ...
信号不好真得好好测测,发现GPRS连不上,GSM方式发短信可能会成功。 32446975 发表于 2013-5-15 23:39 static/image/common/back.gif
1 用什么方法检测短信是否发送成功?
发送方在短信发送后,等待一个超时时间,如果在超时时间内收到接收 ...
谢谢,请问这个ACK是短信发送成功了就返回,不是对方打开短信时候返回来的吧。不知道手机上打开短信返回回执的功能怎么做的。 我说的ACK是自已协议中定义的。接收方收到一条短信后,必须回复一条确认收到的短信,即我说的ACK。 直接拨电话,看有没有接。 通常会返回“OK”,或“ERROR”,得不到“OK”,那就重发了,如果SIM卡欠费了,你重发N次也没用的,那就定义重发次数。过了就不要再发了
页:
[1]