日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

國(guó)內(nèi)sms發(fā)wap push的支持情況(2004)(轉(zhuǎn))

 hh3755 2011-09-08
<menuitem id="c6mdj"><dl id="c6mdj"><small id="c6mdj"></small></dl></menuitem>
  • <samp id="c6mdj"><dl id="c6mdj"></dl></samp><samp id="c6mdj"><dl id="c6mdj"></dl></samp>
      <samp id="c6mdj"><dl id="c6mdj"></dl></samp>
      • 一個(gè)關(guān)于短信wap push的 問(wèn)題,高手們進(jìn)來(lái)看看啊[問(wèn)題點(diǎn)數(shù):20,結(jié)帖人:wangguodong]

        樓主發(fā)表于:2004-08-18 10:08:45
        我前幾天在這里看到的一段短信wap   push的   代碼,對(duì)移動(dòng)wap的   , 
        有個(gè)問(wèn)題不明白, 
        url                   是sp的地址還是   移動(dòng)的     地址啊 
        subject           的內(nèi)容應(yīng)該是什么啊,,最好可以舉個(gè)例子 
        starttime     和   endtime     做什么用的啊,,應(yīng)該如何取呢 


        順便問(wèn)一句,,現(xiàn)在移動(dòng)還可以sms       進(jìn)行   wap   push   嗎 


        /* 
          02 
          05     '-//WAPFORUM//DTD   SI   1.0//EN 
          6A     'UTF-8 
          00 
          45     ' <si> 
          C6     ' <indication 
          08     ' <action=signal-high> 
          0C     'href= "http:// 
          03     '字符串開(kāi)始 
          這里就是url從 "http:// "以后的那部分的每個(gè)字符的ASCII碼 
          00     '字符串結(jié)束 
          0A     'created= 
          C3     '時(shí)間 
          07     '7個(gè)字節(jié),也可以是04,下面就只需要年月日就可以了 
          20   03   01   01   00   00   00   '年,月,日,時(shí),分,秒,格式如何一看就明白吧。 
          10     'si_expires= 
          C3     '時(shí)間 
          07     '跟上面一樣 
          20   04   01   01   00   00   00 
          01     '> 
          03     '字符串開(kāi)始 
          這里就是顯示給用戶的內(nèi)容,用utf-8編碼。 
          utf-8編碼,英文字符直接用ascii碼;中文如果unicode是(二進(jìn)制)abcdefgh   ijklmnop, 
          那么utf-8就會(huì)變成1110abcd   10efghij   10klmnop 
          00     '字符串結(jié)束 
          01     ' </indication> " 
          01     ' </si> 

          有了Push消息體之后,需要在前面增加一個(gè)Push   PDU 
          81     'transaction   id   (connectionless   WSP) 
          06     'pdu   type   (06=push) 
          06     'Headers   len 
          03   AE   81   EA         'content   type:   application/vnd.wap.sic;   charset=utf-8 
          8D         'content-length 
          XX     '這里就是Push消息體的長(zhǎng)度。如果消息體長(zhǎng)度小于128,那么就要加上128。例如是93個(gè)字節(jié),那么需要填入DD 
          '至于大于127怎么處理,按照協(xié)議好像應(yīng)該是這樣,例如原來(lái)的二進(jìn)制abcdefgh,那么就要弄成兩個(gè)字節(jié): 
          '1000000a   1bcdefgh,但是嘗試還沒(méi)成功 

          在然后,還要在前面增加一個(gè)UDH 
          06   'User   Data   Header   Length   (6   bytes) 
          05   'UDH   Item   Element   id   (Port   Numbers) 
          04   'UDH   IE   length   (4   bytes) 
          0B   84       'destination   port   number 
          23   F0       'origin   port   number 

          如果所有這些加起來(lái)大于140個(gè)字節(jié),那么就需要修改UDH頭,分成兩條短消息串聯(lián)。但是沒(méi)有嘗試成功。 

          發(fā)送的時(shí)候,udhi=1,pid=0,dcs=4 
          Nokia   3650/7650肯定OK,motorola   t720肯定ok,siemens   3118,3618肯定不行,其他的還沒(méi)嘗試。 

          同樣的技術(shù)可以用來(lái)發(fā)送mms通知、fundown的鈴聲圖片。 

          需要解決的問(wèn)題:長(zhǎng)于127字節(jié)/兩條短信的時(shí)候該怎么辦。 
          */ 


        private   static   String   getSMSPush(String   url,   String   subject,   String   startTime, 
                                                                          String   endTime) 

                String   pushString   =   " "; 
                String   body   =   " "; 
                body   +=   "02 "; 
                body   +=   "05 ";   //-//WAPFORUM//DTD   SI   1.0//EN 
                body   +=   "6A ";   //UTF-8 
                body   +=   "00 ";   //字符串結(jié)束 
                body   +=   "45 ";   // <si> 
                body   +=   "C6 ";   // <indication 
                body   +=   "08 ";   // <action=signal-high> 
                body   +=   "0C ";   //href= "http:// 
                body   +=   "03 ";   //字符串開(kāi)始 
                body   +=   byteArrayToHexString(url.getBytes());   //實(shí)際地址 
                body   +=   "00 ";   //字符串結(jié)束 
                body   +=   "0A ";   //created= 
                body   +=   "C3 ";   // '時(shí)間 
                body   +=   "07 ";   //時(shí)間字節(jié)數(shù) 
                body   +=   startTime;   //YYYYMMDDHHMMSS 
                body   +=   "10 ";   //si_expires= 
                body   +=   "C3 ";   //時(shí)間 
                body   +=   "07 ";   //時(shí)間字節(jié)數(shù) 
                body   +=   endTime;   //YYYYMMDDHHMMSS 
                body   +=   "01 ";   //> 
                body   +=   "03 ";   //字符串開(kāi)始 
                try 
                { 
                        ody   +=   byteArrayToHexString(subject.getBytes( "UTF-8 "));   //顯示給用戶的內(nèi)容,用utf-8編碼。utf-8編碼,英文字符直接用ascii碼;中文如果unicode是(二進(jìn)制) 
                } 
                catch   (Exception   ex) 

                { 
                } 
                body   +=   "00 ";   //字符串結(jié)束 
                body   +=   "01 ";   // </indication> " 
                body   +=   "01 ";   // ' </si> 
                int   length   =   body.length(); 
                String   pud   =   " "; 
                pud   +=   "81 ";   //transaction   id   (connectionless   WSP) 
                pud   +=   "06 ";   // 'pdu   type   (06=push) 
                pud   +=   "06 ";   //Headers   len 
                pud   +=   "03 "; 
                pud   +=   "AE "; 
                pud   +=   "81 "; 
                pud   +=   "EA ";   //content   type:   application/vnd.wap.sic;   charset=utf-8 
                pud   +=   "8D ";   //content-length 
                pud   +=   Integer.toHexString(length).toUpperCase(); 
                String   udh   =   " "; 
                udh   +=   "06 ";   //User   Data   Header   Length   (6   bytes) 
                udh   +=   "05 ";   //UDH   Item   Element   id   (Port   Numbers) 
                udh   +=   "04 ";   //UDH   IE   length   (4   bytes) 
                udh   +=   "0B "; 
                udh   +=   "84 ";   //destination   port   number 
                udh   +=   "23 "; 
                udh   +=   "F0 ";   //origin   port   number 
                pushString   =   udh   +   pud   +   body; 
                return   pushString; 

                public   static   String   byteArrayToHexString(byte   b[]) 
                { 
                        String   result   =   " "; 
                        for   (int   i   =   0;   i   <   b.length;   i++) 
                                result   =   result   +   byteToHexString(b[i]); 
                        return   result; 
                } 

                public   static   String   byteToString(byte   b[]) 
                { 
                        String   result   =   " "; 
                        for   (int   i   =   0;   i   <   b.length;   i++) 
                        { 
                                result   =   result   +   b[i]; 
                        } 
                        return   result; 
                } 

                public   static   String   byteToHexString(byte   b) 
                { 
                        int   n   =   b; 
                        if   (n   <   0) 
                                n   =   256   +   n; 
                        int   d1   =   n   /   16; 
                        int   d2   =   n   %   16; 
                        return   HexCode[d1]   +   HexCode[d2]; 
                } 

                private   static   String   HexCode[]   = 
                        { 
                        "0 ",   "1 ",   "2 ",   "3 ",   "4 ",   "5 ",   "6 ",   "7 ",   "8 ",   "9 ", 
                        "A ",   "B ",   "C ",   "D ",   "E ",   "F " 
                }; 

                private   static   String   getUTFString(final   String   gbString) 
                { 
                        if   (gbString   ==   null) 
                                return   " "; 
                        char[]   utfBytes   =   gbString.toCharArray(); 
                        String   unicodeBytes   =   " "; 
                        for   (int   byteIndex   =   0;   byteIndex   <   utfBytes.length;   byteIndex++) 
                        { 
                                String   hexB   =   " "; 
                                if   (utfBytes[byteIndex]   <   '! ') 
                                { 
                                        hexB   =   Integer.toHexString(utfBytes[byteIndex]); 
                                        if   (hexB.length()   <=   2) 
                                        { 
                                                hexB   =   "00 "   +   hexB; 
                                        } 
                                        unicodeBytes   =   unicodeBytes   +   "&#x "   +   hexB   +   "; "; 
                                } 
                                else 
                                { 
                                        unicodeBytes   +=   utfBytes[byteIndex]; 
                                } 
                        } 
                        return   unicodeBytes; 
                } 



        #1樓 得分:0回復(fù)于:2004-08-18 10:09:55
        還有,,聯(lián)通可以   用   sms     進(jìn)行wap   push
        #2樓 得分:0回復(fù)于:2004-08-18 10:12:07
        兄弟我也想要這方面的資料啊,幫你頂了
        #3樓 得分:20回復(fù)于:2004-08-18 11:03:01
        url                   是sp的地址 
        subject           是用戶收到PUSH后看到的文字,一般做標(biāo)題用. 
        starttime     和   endtime     沒(méi)有用過(guò)/ 

        移動(dòng)和聯(lián)通的130,131可以實(shí)現(xiàn)WAP   PUSH,因?yàn)镻USH要看手機(jī)終端能否支持. 

        CDMA的沒(méi)有做過(guò). 

        因?yàn)楝F(xiàn)在移動(dòng)有WAP網(wǎng)關(guān)接入,這種通過(guò)SMS做PUSH已經(jīng)不在允許范圍之內(nèi)了.計(jì)費(fèi)也相對(duì)麻煩. 
        #4樓 得分:0回復(fù)于:2004-08-18 11:50:49
        這段代碼網(wǎng)上都一直再傳,,問(wèn)一下,不知道有沒(méi)有哪位,兄弟,, 
        調(diào)試通過(guò)的啊,,說(shuō)來(lái)看看
        • javavip用戶頭像
        • javavip
        • (☆★☆★☆★)
        • 等 級(jí):
        #5樓 得分:0回復(fù)于:2004-08-18 13:16:06
        對(duì)PUSH好陌生,不知道哪里有資料。
        #6樓 得分:0回復(fù)于:2004-08-18 13:54:52
        上面這段代碼,聯(lián)通的C網(wǎng)肯定不行。
        • mzqali1用戶頭像
        • mzqali1
        • (夢(mèng)網(wǎng)無(wú)限)
        • 等 級(jí):
        #7樓 得分:0回復(fù)于:2004-08-19 13:16:38
        呵呵,移動(dòng)的也可以用sms   進(jìn)行wap   push
        #8樓 得分:0回復(fù)于:2004-08-23 15:28:43
        G網(wǎng)都是一樣的 
        部分移動(dòng)聯(lián)通 
        不過(guò)C網(wǎng)的SI接口格式肯定不一樣 
        誰(shuí)有C網(wǎng)PUSH的SI格式接口啊 
        我急需 
        hanj@gzjp.cn
        #9樓 得分:0回復(fù)于:2004-08-24 15:52:13
        通過(guò)了,還是從我們公司流傳出去的。
        #10樓 得分:0回復(fù)于:2004-08-24 15:57:59
        剛開(kāi)始時(shí)根據(jù)天堂鳥(niǎo)上的一篇帖子寫(xiě)的,經(jīng)過(guò)測(cè)試可以的,不過(guò)只支持一部分手機(jī),有些手機(jī)的發(fā)送參數(shù)不知道,收到的是亂碼。
        #11樓 得分:0回復(fù)于:2004-08-24 21:27:46
        to     forrysoft(流浪) 
        C網(wǎng)短信編碼格式不一樣。目前C網(wǎng)里支持SI的手機(jī)只有幾款,以新上市的雙模為主,所以用戶數(shù)很有限。以前C網(wǎng)里的手機(jī)只支持的PUSH里有個(gè)序列號(hào),通常除了WAP網(wǎng)關(guān),別人是不知道的。所以,C網(wǎng)的目前沒(méi)什么辦法做短信PUSH。
        • cuipy用戶頭像
        • cuipy
        • (崔鵬宇)
        • 等 級(jí):
        #12樓 得分:0回復(fù)于:2004-09-02 17:47:03
        這個(gè)編碼后是不是就是cmpp里面的Msg_content呀?然后就能利用sms發(fā)送wap   push了?
        #13樓 得分:0回復(fù)于:2004-09-14 08:49:44
        xiexie   l

            本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
            轉(zhuǎn)藏 分享 獻(xiàn)花(0

            0條評(píng)論

            發(fā)表

            請(qǐng)遵守用戶 評(píng)論公約

            類(lèi)似文章 更多