package com.skywin.simpass.sysinterface.sms.util;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.huawei.insa2.comm.cmpp.message.CMPPDeliverMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitRepMessage;
import com.huawei.insa2.util.Args;
import com.huawei.smproxy.SMProxy;
import com.skywin.simpass.sysinterface.sms.entity.SMSEntity;
public class SMSClient extends SMProxy {
private static SMSClient ins;
private SMSClient(Args args) {
super(args);
}
public static SMSClient getInstance() {
if (ins == null) {
Map<String, String> m = new HashMap<String, String>();
// 系统参数配置
m.put("host", "host");
m.put("port", "port");
m.put("source-addr", "source-addr");
m.put("shared-secret", "shared-secret");
m.put("heartbeat-interval", "30");
m.put("reconnect-interval", "30");
m.put("heartbeat-noresponseout", "5");
m.put("transaction-timeout", "10");
m.put("version", "0");
m.put("debug", "true");
ins = new SMSClient(new Args(m));
}
return ins;
}
public CMPPMessage onDeliver(CMPPDeliverMessage msg) {
String message = null;
try {
String receivedMsg = new String(msg.getMsgContent(), "UTF-8");
// System.out.println("接收到的消息:"+receivedMsg);
String receivedTelephone = msg.getSrcterminalId();
// System.out.println("接收的手机号码:"+receivedTelephone);
if ((receivedMsg.subSequence(0, 5)).equals("CSize")) {
System.out.println(receivedMsg);
} else {
message = "充值请求信息格式不对";
CMPPSubmitMessage submitMsg = new CMPPSubmitMessage(1, 1, 0, 1,
"0010", 0, "", 0, 0, 15, "950338", "02", Integer
.toString(0),
new Date(System.currentTimeMillis() + (long) 50000), // 存活期
null, "10658672", new String[] { receivedTelephone },
message.getBytes(), "");
// 发送错误信息给用户
SMSClient.getInstance().send(submitMsg);
}
} catch (Exception e) {
}
return super.onDeliver(msg);
}
public void send(CMPPSubmitMessage msg) throws Exception {
CMPPSubmitRepMessage rep = (CMPPSubmitRepMessage) super.send(msg);
// System.out.println(rep.toString());
}
/**
* @param args
*/
public static void main(String[] args) throws Exception {
SMSClient client = SMSClient.getInstance();
System.in.read();
}
}
分享到:
相关推荐
手机短信发送和接收是移动通信领域中的基本功能,它允许用户通过手机设备进行文本消息的交互。短信服务(Short Message Service, SMS)自20世纪90年代以来已经成为全球最广泛使用的通信方式之一,尤其在个人和商业...
本文将深入探讨基于C++编写的“SMS短信发送和接收控件源码”,以及如何利用MSComm控件实现这一功能。 首先,我们要理解MSComm控件是什么。MSComm,全称Microsoft Serial Communications Control,是由微软提供的一...
介绍了 cmpp sgip smgp协议的彩信,视频短信的的开发流程 包含了pdu编码解析,流程讲解等
本文主要探讨的是基于GPRS技术实现短信发送和接收的毕业设计论文。GPRS(General Packet Radio Service)是一种无线数据通信技术,它允许移动设备通过移动网络进行连续的数据传输,为短信服务提供了高效、实时的通信...
至于`PhoneSMS`这个文件,它可能是实训项目中的一个模块或者类,可能包含了具体的实现代码,例如创建`SmsManager`实例、定义`BroadcastReceiver`以及处理短信发送和接收的相关逻辑。为了深入理解这个实训项目,你...
1. **连接管理**:在进行短信发送和接收前,客户端需要与短信网关建立TCP连接。这涉及到连接的建立、保持和断开过程,通常包括三次握手和四次挥手等TCP连接的基本操作。 2. **报文结构**:SGIP协议的报文由报文头和...
"lib"则可能是一个库文件夹,包含与短信发送和接收相关的库文件或API实现,这些库文件可能提供了操作短信服务的函数和类,帮助开发者更方便地进行短信功能的开发。 总的来说,手机短信接收和发送涉及到操作系统、...
本文将深入探讨如何利用短信猫进行短信的发送与接收功能的实现。 首先,我们要了解短信猫的工作原理。短信猫通常采用串行通信接口(如USB或RS232),连接到计算机或服务器。它内置SIM卡槽,可以插入运营商的SIM卡,...
由于涉及到短信发送和接收,需要配置的权限包括SEND_SMS、RECEIVE_SMS和READ_SMS。SEND_SMS权限允许应用发送短信,RECEIVE_SMS权限允许应用接收短信,而READ_SMS权限则是用于读取短信内容。这些权限的声明方式如下:...
总的来说,这个例子将教你如何在Android应用中实现自定义的短信发送和接收功能,让你能够控制短信的处理流程,提供更个性化的用户体验。通过学习和理解这个例子,你将掌握Android中与短信交互的核心技术。
短信发送接收平台是一种用于批量发送和接收短信的系统,常被企业用于验证码验证、营销推广、通知服务等场景。在IT行业中,这类平台通常结合Web技术实现,通过API接口与各种应用程序集成,使得开发者能够方便地进行...
每一部手机都具有短信接收和发送功能,下面我们通过代码来实现接收和发送短信功能。 一、接收短信 1、创建内部广播接收器类,接收系统发出的短信广播 2、从获得的内容中解析出短信发送者和短信内容 3、在...
【VB短信发送接收程序源码】是一个基于Visual Basic(VB)开发的软件系统,主要用于实现短信的发送和接收功能。这个程序集成了用户信息管理、预制短语存储、短信发送操作以及短信查询等功能,为用户提供了一站式的...
AT短信猫是一种特殊的通信设备,常用于自动化系统或者服务中,通过使用AT指令进行控制,实现短信的发送和接收。AT指令集是通用的串行通信接口,最初为调制解调器设计,但后来扩展到包括短信服务。在本文中,我们将...
标题中的“利用短信猫发送和接收短信的软件”指的是通过硬件设备——短信猫,实现电脑上的短信收发功能。短信猫是一种特殊的调制解调器,它可以连接到计算机的串行端口或USB接口,模拟手机功能,允许用户通过电脑...
手机短信猫短信发送接收接口 1.0 基于COM的dll组件,可以运行于win32平台。本组件的特点: 1、封装了通过手机、短信猫发送/接收短消息的接口,由于采用了COM标准,二进制兼容,可被其他开发语言或者软件调用,对手机...
5. **短信发送**:在STM32端,发送短信的过程包括设置短信格式、输入目标电话号码、编写短信内容,然后通过串口发送相应的AT命令。SIM800A接收到命令后,将短信内容通过GSM网络发送出去。 6. **短信接收**:SIM800A...
本项目集成了多种短信发送和接收的源代码,旨在帮助开发者在Delphi环境下实现与GSM Modem和阿里大于等服务的通信。 【描述】中的知识点: 1. **GSM Modem通信**:GSM Modem是一种允许通过SIM卡进行语音通话和数据...