资源描述:
《gsm短信发送pdu编码解码c++控制台实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、GSM短信发送PDU编码解码C++控制台实现(一)2009-04-2014:12//SendMsg.h#include#include#include#include#include#includeusingnamespacestd;//用户信息编码方式#defineGSM_7BIT 0#defineGSM_8BIT 4#defineGSM_UCS2 8//应答状态#defineGSM_WAIT 0//等待
2、,不确定#defineGSM_OK 1//OK#defineGSM_ERR -1//ERROR////编码用到的常量定义//#define CONST91 "91"#define CONSTF "F"#define CONSTLEN 1024//#define CONST1100 "1100"//#define CONST000800 "000800"#define CONST0 0//短消息参数结构,编码/解码共用//其中,字符串以0结尾typedefstruct{ charSCA[16]
3、; //短消息服务中心号码(SMSC地址) charTPA[16]; //目标号码或回复号码(TP-DA或TP-RA) charTP_PID; //用户信息协议标识(TP-PID) charTP_DCS; //用户信息编码方式(TP-DCS) charTP_SCTS[16]; //服务时间戳字符串(TP_SCTS),接收时用到 charTP_UD[161]; //原始用户信息(编码前或解码后的TP-UD) charindex; //短消息序号,在读取时用到}SM_PARAM;
4、typedefstruct{intlen;chardata[16384];}SM_BUFF;classSendMsg{public:intgsmInvertNumbers(constchar*pSrc,char*pDst,intnSrcLength);intgsmSerializeNumbers(constchar*pSrc,char*pDst,intnSrcLength);intgsmEncodeUcs2(constchar*pSrc,unsignedchar*pDst,intnSrcLength);intgsmDecodeUcs2(constunsigned
5、char*pSrc,char*pDst,intnSrcLength);intgsmBytes2String(constunsignedchar*pSrc,char*pDst,intnSrcLength);intgsmString2Bytes(constchar*pSrc,unsignedchar*pDst,intnSrcLength);intgsmEncode7bit(constchar*pSrc,unsignedchar*pDst,intnSrcLength);intgsmDecode7bit(constunsignedchar*pSrc,char*pDst,
6、intnSrcLength);intgsmEncode8bit(constchar*pSrc,unsignedchar*pDst,intnSrcLength);intgsmDecode8bit(constunsignedchar*pSrc,char*pDst,intnSrcLength);intgsmEncodePdu(constSM_PARAM*pSrc,char*pDst);intgsmDecodePdu(constchar*pSrc,SM_PARAM*pDst);BOOLgsmSendMessage(constSM_PARAM*pSrc);voidgsmR
7、eadMessageList();BOOLgsmDeleteMessage(constintindex);intgsmGetResponse(SM_BUFF*pBuff);intgsmParseMessageList(SM_PARAM*pMsg,SM_BUFF*pBuff);BOOLOpenComm(constchar*pPort,intnBaudRate,intnParity,intnByteSize,intnStopBits);BOOLCloseComm();voidWriteComm(void*pData,intnLength);intReadComm(v
8、oid*pData,in