freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于短信收發(fā)系統(tǒng)畢業(yè)設(shè)計(jì)-免費(fèi)閱讀

  

【正文】 指導(dǎo)老師黃新波和同學(xué)們給予了我極大的幫助與支持,這是我除獲得知識(shí)以外感到最為寶貴的東西。m_RecvData=。(COleVariant(m_SendData))。CString str。或是:COLECommView* view=(COLECommView*) pParam。使用該控件的一些方法和屬性時(shí)不能象使用類一樣簡(jiǎn)單的聲明一個(gè)實(shí)例對(duì)象,而要通ClassWizard為該控件和一個(gè)成員變量建立起綁定關(guān)系,在此我們將該控件同變量m_Comm相綁定后就可以通過(guò)該控件提供的方法來(lái)對(duì)串口的各種通訊參數(shù)進(jìn)行設(shè)置了?! ∮布帐忠蕾囉赗TS和CTS信號(hào),當(dāng)發(fā)送設(shè)備欲發(fā)送數(shù)據(jù)時(shí),將RTS信號(hào)置為有效表示請(qǐng)求發(fā)送,接收設(shè)備準(zhǔn)備好后,置CTS信號(hào)有效,接著發(fā)送設(shè)備通過(guò)信號(hào)線TXD開始發(fā)送串行數(shù)據(jù)。作為一種物理通信的途徑和設(shè)備,它和目前風(fēng)靡的另一種串行接口――USB所提供的功能是一致的。// UCS2編碼 返回: 目標(biāo)編碼串長(zhǎng)度int gsmEncodeUcs2(const char *pSrc, // 源字符串指針 unsigned char *pDst, // pDst: 目標(biāo)編碼串指針 int nSrcLength // nSrcLength: 源字符串長(zhǎng)度)。 // 生成命令 // 輸出命令串 WriteComm(cmd, strlen(cmd))。 // 跳過(guò)\r\n   gsmDecodePdu(ptr, pMsg)。 // 輸出命令串 nLength = ReadComm(ans, 1024)。 // 串口收到的數(shù)據(jù)長(zhǎng)度 int nMsg。  } } return FALSE。 // 先輸出命令串 nLength = ReadComm(ans, 128)。 // PDU串                                                       char ans[128]?!?/填充SM_PARAM結(jié)構(gòu)體內(nèi)容 SM_PARAM smParam。 // 用戶信息編碼方式(TPDCS) char TP_SCTS[16]?! ≌f(shuō)明一下,為什么AT+CMGS=33呢,是這樣得來(lái)的: 11000D91683117352446F2000800124F60597D002C00480065006C006C006F0021短消息到來(lái)后,串口上會(huì)接收到指令CRLF+CMTI:″SM″,INDEX(信息存儲(chǔ)位置)CRLFPC上的控制軟件通過(guò)讀取PDU數(shù)據(jù)的AT命令A(yù)T+CMGR=INDEXCRLF將TC35模塊中PDU格式的短消息內(nèi)容讀出?! ≡O(shè)置短消息中心的指令格式為:  AT+CSCA=″+8613800531500″(短消息中心)CR  設(shè)置正確則模塊返回CRLFOKCRLF。 } else if(pDstTP_DCS == GSM_UCS2) { // UCS2解碼 nDstLength = gsmString2Bytes(pSrc, buf, tmp * 2)。 // 服務(wù)時(shí)間戳字符串(TP_SCTS) pSrc += 14。 // 取TPRA號(hào)碼 pSrc += tmp。 // 取基本參數(shù) pSrc += 2。 // 內(nèi)部用的緩沖區(qū) // SMSC地址信息段 gsmString2Bytes(pSrc, amp。buf[4], nLength)。 // 用戶信息編碼方式(TPDCS) buf[2] = 0。 // 目標(biāo)地址數(shù)字個(gè)數(shù)(TPDA地址字符串真實(shí)長(zhǎng)度) buf[3] = 0x91。 // SMSC地址信息長(zhǎng)度 buf[1] = 0x91。以下是PDU全串的編解碼模塊。首先,定義如下常量和結(jié)構(gòu):// 用戶信息編碼方式define GSM_7BIT 0define GSM_8BIT 4define GSM_UCS2 8 // 短消息參數(shù)結(jié)構(gòu),編碼/解碼共用// 其中,字符串以0結(jié)尾typedef struct { char SCA[16]。 0x0f]。 } pSrc++。amp。) 4。 i+=2) { // 輸出高4位 if(*pSrc=39。 // 輸出字符串加個(gè)結(jié)束符 pDst[nDstLength] = 39。 } // 返回目標(biāo)編碼串長(zhǎng)度 return nDstLength * 2。Windows環(huán)境下,用C實(shí)現(xiàn)UCS2編碼和解碼的算法如下:// UCS2編碼// pSrc: 源字符串指針// pDst: 目標(biāo)編碼串指針// nSrcLength: 源字符串長(zhǎng)度// 返回: 目標(biāo)編碼串長(zhǎng)度int gsmEncodeUcs2(const char* pSrc, unsigned char* pDst, int nSrcLength){ int nDstLength。用上面介紹的算法收發(fā)純英文短消息,一般情況應(yīng)該是夠用了。 nDst++。 // 將源數(shù)據(jù)每7個(gè)字節(jié)分為一組,解壓縮成8個(gè)字節(jié) // 循環(huán)該處理過(guò)程,直至源數(shù)據(jù)被處理完 // 如果分組不到7字節(jié),也能正確處理 while(nSrcnSrcLength) { // 將源字節(jié)右邊部分與殘余數(shù)據(jù)相加,去掉最高位,得到一個(gè)目標(biāo)解碼字節(jié) *pDst = ((*pSrc nByte) | nLeft) amp。 } // 7bit解碼// pSrc: 源編碼串指針// pDst: 目標(biāo)字符串指針// nSrcLength: 源編碼串長(zhǎng)度// 返回: 目標(biāo)字符串長(zhǎng)度int gsmDecode7bit(const unsigned char* pSrc, char* pDst, int nSrcLength){ int nSrc。 // 處理源串的每個(gè)字節(jié) if(nChar == 0) { // 組內(nèi)第一個(gè)字節(jié),只是保存起來(lái),待處理下一個(gè)字節(jié)時(shí)使用 nLeft = *pSrc。 短信內(nèi)容的編解碼實(shí)現(xiàn) 用C實(shí)現(xiàn)7bit編碼和解碼的算法如下:// 7bit編碼// pSrc: 源字符串指針// pDst: 目標(biāo)編碼串指針// nSrcLength: 源字符串長(zhǎng)度// 返回: 目標(biāo)編碼串長(zhǎng)度int gsmEncode7bit(const char* pSrc, unsigned char* pDst, int nSrcLength){ int nSrc。需要注意的是,PDU串的用戶信息長(zhǎng)度(TPUDL),在各種編碼方式下意義有所不同。30 21 80 63 54 80 06 4F 60 59 7D 00 21對(duì)照規(guī)范,具體分析如表22:分段含義說(shuō)明08地址信息的長(zhǎng)度共8個(gè)八位字節(jié)(包括91)91SMSC地址格式(TON/NPI)用國(guó)際格式號(hào)碼(在前面加‘+’)68 31 08 20 05 05 F0SMSC地址8613800250500,補(bǔ)‘F’湊成偶數(shù)個(gè)84基本參數(shù)(TPMTI/MMS/RP)接收,無(wú)更多消息,有回復(fù)地址0D回復(fù)地址數(shù)字個(gè)數(shù)共13個(gè)十進(jìn)制數(shù)(不包括91和‘F’)91回復(fù)地址格式(TON/NPI)用國(guó)際格式號(hào)碼(在前面加‘+’)68 31 58 81 27 64 F8回復(fù)地址(TPRA)8613851872468,補(bǔ)‘F’湊成偶數(shù)個(gè)00協(xié)議標(biāo)識(shí)(TPPID)是普通GSM類型,點(diǎn)到點(diǎn)方式08用戶信息編碼方式(TPDCS)UCS2編碼30 30 21 80 63 54 80時(shí)間戳(TPSCTS)2003312 08:36:45 PDU串表面上是一串ASCII碼,由‘0’‘9’、 ‘A’‘F’這些數(shù)字和字母組成。與我們討論的短消息收發(fā)有關(guān)的規(guī)范主要包括GSM 、GSM 。 ?。涸诰庉嬘嗛喍绦艜r(shí),設(shè)定短信的費(fèi)用,系統(tǒng)自動(dòng)將此短信發(fā)送給客戶。b) 對(duì)員工,可滿足內(nèi)部通知;流程通報(bào);獎(jiǎng)勵(lì)通告;消息發(fā)布。圖01終端短信連接示意圖:我們需要利用以TC35模塊為主的硬件組成一個(gè)TC35終端設(shè)備,并與電腦通過(guò)RS232C串口相連,并自行編制在PC上運(yùn)行的短信息收發(fā)軟件,就可以組成一個(gè)短信收發(fā)系統(tǒng)。網(wǎng)關(guān)方式:就是向當(dāng)?shù)氐碾娦挪块T申請(qǐng),不需要額外的設(shè)備,適用于大型的通信公司,像華為、傲天、中興、亞信等?! 〔⑼ㄟ^(guò)VC++開發(fā)平臺(tái)開發(fā)一款具有企業(yè)使用功能的短信群發(fā)系統(tǒng)。(2) 接收短信:接收投訴、查詢、咨詢等短信;還提供短信的回復(fù)、轉(zhuǎn)發(fā)和刪除功能?;蛳到y(tǒng)自動(dòng)統(tǒng)計(jì)匯總短信收費(fèi)資料并將資料存儲(chǔ),供用戶短信查詢。前二者著重描述SMS的技術(shù)實(shí)現(xiàn)(含編碼方式),后者則規(guī)定了SMS的DTEDCE接口標(biāo)準(zhǔn)(AT命令集)。它們是8位字節(jié)的十六進(jìn)制數(shù),或者BCD碼十進(jìn)制數(shù)。 +8時(shí)區(qū)06用戶信息長(zhǎng)度(TPUDL)實(shí)際長(zhǎng)度6個(gè)字節(jié)4F 60 59 7D 00 21用戶信息(TPUD)“你好!”表22 短信編碼方式二若基本參數(shù)的最高位(TPRP)為0,則沒有回復(fù)地址的三個(gè)段。7bit編碼時(shí),指原始短消息的字符個(gè)數(shù),而不是編碼后的字節(jié)數(shù)。 // 源字符串的計(jì)數(shù)值 int nDst。 } else { // 組內(nèi)其它字節(jié),將其右邊部分與殘余數(shù)據(jù)相加,得到一個(gè)目標(biāo)編碼字節(jié) *pDst = (*pSrc (8nChar)) | nLeft。 // 源字符串的計(jì)數(shù)值 int nDst。 0x7f。 // 組內(nèi)字節(jié)序號(hào)和殘余數(shù)據(jù)初始化 nByte = 0。如果是法語(yǔ)、德語(yǔ)、西班牙語(yǔ)等,含有 “229。 // UNICODE寬字符數(shù)目 WCHAR wchar[128]。} // UCS2解碼// pSrc: 源編碼串指針// pDst: 目標(biāo)字符串指針// nSrcLength: 源編碼串長(zhǎng)度// 返回: 目標(biāo)字符串長(zhǎng)度int gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength){ int nDstLength。\039。039。 } else { *pDst = (*pSrc 39。 *pSrc=39。 pDst++。 pSrc++。 // 短消息服務(wù)中心號(hào)碼(SMSC地址) char TPA[16]。為簡(jiǎn)化編程,有些字段用了固定值。 // 固定: 用國(guó)際格式號(hào)碼 nDstLength = gsmBytes2String(buf, pDst, 2)。 // 固定: 用國(guó)際格式號(hào)碼 nDstLength += gsmBytes2String(buf, amp。 // 有效期(TPVP)為5分鐘 if(pSrcTP_DCS == GSM_7BIT) { // 7bit編碼方式 buf[3] = nLength。 // 轉(zhuǎn)換TPDA到目標(biāo)PDU串 nLength = buf[3] + 4。tmp, 2)。 // 指針后移 if(tmp amp。 // 指針后移 } // TPDU段協(xié)議標(biāo)識(shí)、編碼方式、用戶信息等 gsmString2Bytes(pSrc, (unsigned char*)amp。 // 指針后移 gsmString2Bytes(pSrc, amp。 // 格式轉(zhuǎn)換 nDstLength = gsmDecodeUcs2(buf, pDstTP_UD, nDstLength)?! ∽x取短消息服務(wù)中心則使用命令: AT+CSCA=?CR  TC35模塊應(yīng)該返回: CRLF+CSCA:″8613800531500″CRLF。如果用+CMGL代替+CMGR,則可一次性讀出全部短消息。 // 服務(wù)時(shí)間戳字符串(TP_SCTS), 接收時(shí)用到 char TP_UD[161]。 smParam = CreateSMPARAMStruct(desPhoneNum,smsContent)。 // 應(yīng)答串 nPduLength = gsmEncodePdu(pSrc, pdu)。 // 讀應(yīng)答數(shù)據(jù)  // 根據(jù)能否找到\r\n 決定成功與否 if (nLength == 4 amp。}  點(diǎn)擊接收按鈕會(huì)通過(guò)gsmReadMessage函數(shù)的調(diào)用獲得所有短消息,最后在列表控件中顯示所有短信:
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1