短信回执设置

本文介绍了如何在Delphi程序中实现短信回执功能,包括GSM MODEM硬件接口的设置、AT指令的详细解释、代码修改以及操作步骤。关键在于设置AT+CNMI指令和修改发送代码中的参数,以便接收和解析短信回执。
 
短信回执
 
最近本人在做一个关于短消息的回执的程序,费了十牛三虎之力,又查了许多资料, 再加上自己的实际试验、应用,在前人的基础上做下总结,添加点自己经验,,并且发现网上关于短信回执的有一定的错误,下面本人经过整理的足疗,介绍给大家,以飨读者。
一、硬件接口
   GSM MODEM 支持GSM07.05、GSM07.07所定义的的AT指令集。通过串口与计算机相连
二、短消息回执设置
    AT+CNMI=2,2,0,1,1 //新收到的短信直接发送至TE终端,不存储在SM卡中,这是关键的一步,如果设置不对,可能收不到短信回执,切记!下面将它的意思说明如下:
 
AT+CNMI=<mode>,<mt>,<bm>,<ds>,<brf>
参数:
 mode:
 0——缓存在终端
 1——直接发送到TE
mt:
 0——接收到新的SMS不返回事件
 1——如果接收到的SMS存储在na ,则返回
    +CMTI:<mem>,<index>
 2——除了Class2 SMS,新的SMS直接发送到终端,返回:
   +CMT:<length><CR><LF><PDU>
 3——Class3 SMS使用mt=2的方法返回,其他类型的使用mt=1的方法返回。
 bm:
 0——小区广播不通知
 2——新的小区广播通知,返回
    +CBM:<length><CR><LF ><pdu>
3——Class3格式的小区广播通知,使用bm=2格式
ds:
 0——状态报告不通知
 1——新的状态报告通知,返回:
   +CDS:<length><CR><LF><pdu>
 2—
### 处理阿里云短信服务回执消息 对于阿里云短信服务中的回执消息处理,主要通过订阅`SmsReport`来实现。这允许开发者监控并获取已发送短信的状态更新。 #### 订阅短信状态报告 为了能够接收到短信的发送状态反馈,需要先完成对`SmsReport`的服务订阅操作。此过程涉及配置应用以监听来自阿里云的消息通知,并设置相应的回调地址用于接收这些数据[^1]。 ```xml <!-- Maven依赖 --> <dependencies> <!-- 阿里云核心SDK --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>3.7.1</version> </dependency> <!-- 短信API SDK --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>1.1.0</version> </dependency> </dependencies> ``` 一旦完成了必要的开发环境搭建工作之后,就可以着手编写具体的业务逻辑代码了。通常情况下,会创建一个专门用来处理这类事件的方法或类,以便更好地管理和响应不同的情况。 #### 实现回执消息处理器 下面是一个简单的Java方法示例,展示了如何解析从阿里云接收到的JSON格式的回执信息: ```java import com.alibaba.fastjson.JSONObject; public class SmsReceiptHandler { public void handleReceipt(String receiptJson){ JSONObject jsonObject = JSONObject.parseObject(receiptJson); String phoneNumbers = jsonObject.getString("PhoneNumbers"); String sendStatus = jsonObject.getString("SendStatus"); Long reportTime = jsonObject.getLong("ReportTime"); System.out.println("手机号:" + phoneNumbers); System.out.println("发送状态:" + sendStatus); System.out.println("上报时间戳:" + reportTime); // 进一步处理... } } ``` 上述代码片段中使用到了阿里巴巴提供的Fastjson库来进行JSON字符串转对象的操作,从而方便提取出所需的关键字段值。实际应用场景下可以根据需求调整打印语句为更复杂的业务流程控制逻辑[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值