日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WAP PUSH——服务信息

發(fā)布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WAP PUSH——服务信息 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、WAP PUSH 技術(shù)的一些說明? http://blog.csdn.net/nutian/archive/2009/06/16/4269523.aspx

WAP PUSH又叫做服務(wù)信息或推入信息,是一種特殊格式的短信。
???? WAP就像因特網(wǎng),是一個內(nèi)容豐富的網(wǎng)絡(luò),用戶如何找到自己喜歡的站點(diǎn),如何在一個站點(diǎn)中找到自己喜歡的業(yè)務(wù),往往需要花上很長的一段時間。而WAP PUSH可以將某一站點(diǎn)或某一業(yè)務(wù)的鏈接通過短信發(fā)送到支持WAP PUSH功能的手機(jī)上,這樣您只需要閱讀這條短信(服務(wù)信息),打開短信中的鏈接,就可以直接訪問業(yè)務(wù)了。因此,WAP PUSH實(shí)現(xiàn)了短信和WAP業(yè)務(wù)的結(jié)合,節(jié)省了您尋找業(yè)務(wù)的時間,方便您直接找到并使用自己喜歡的業(yè)務(wù)。PUSH信息無論是否被用戶打開,都會保留在手機(jī)的"推入收件箱"內(nèi),用戶可以重復(fù)打開。
???? wap push 的意思是帶連接的短信,它可以引導(dǎo)你進(jìn)入wap的網(wǎng)站。它是通過sp的網(wǎng)關(guān)發(fā)出來的,用軟件和移動的接口。

WAP PUSH的特點(diǎn)優(yōu)勢
??? 省去用戶在手機(jī)上輸入網(wǎng)址的不方便。如有些網(wǎng)址字?jǐn)?shù)多,輸入很麻煩。
??? 適合用來做針對性的促銷、廣告宣傳。如您可以直接講某個活動信息的頁面地址、某個優(yōu)惠券的頁面地址、某個產(chǎn)品的頁面地址直接推送到用戶手機(jī)。
??? 用戶強(qiáng)制性接受,到達(dá)率達(dá)到100%
??? 用戶打開率高收到WAP-PUSH后打開的比例分布:
??? 據(jù)互聯(lián)網(wǎng)權(quán)威研究機(jī)構(gòu)艾瑞咨詢研究,收到WAPPUSH后,有16.6%的網(wǎng)民一般都會打開,看清說明文字后打開的比例達(dá)到了53.6%。而基本不打開或直接刪除的比例分別為11.4%和18.6。可以發(fā)現(xiàn),WAPPUSH推送服務(wù)的接受程度是很高的,尤其是隨著WAPPUSH發(fā)送的文字說明和介紹對用戶是否打開起了比較重要的作用,大部分用戶是在看清了文字說明之后才打開WAPPUSH的。


??? 2006年以后出產(chǎn)的手機(jī)幾乎全部支持接收WAPPUSH

?

簡單易懂的解釋:

wap push是一種特殊的二進(jìn)制短信
普通短信:在你手機(jī)上是一段文字,不是文盲的都認(rèn)識

wap push:在你手機(jī)上是一個網(wǎng)址外加一段文字,通過這個網(wǎng)址你就可以直接訪問相應(yīng)的wap站點(diǎn)

?

如何關(guān)閉接收push信息?

??? 一般情況下,在手機(jī)上選擇:互聯(lián)網(wǎng)--〉瀏覽器--〉瀏覽器設(shè)置--〉服務(wù)信息設(shè)置,點(diǎn)為關(guān)閉即可。

?

目前的發(fā)送狀況

??? 從今年起,中國移動開始逐漸限制各個SP商的push信息群發(fā),從理論上來講,幾乎所有的SP商都發(fā)不了push信息。

?

?

WAP Push的技術(shù)

??? WAP Push是要將互聯(lián)網(wǎng)上的信息主動推送到用戶的手機(jī)等移動終端上。達(dá)到這個目標(biāo)需要解決如下兩個問題:
??? (1)互聯(lián)網(wǎng)服務(wù)器如何主動地連通位于無線網(wǎng)絡(luò)上的手機(jī),通信問題。
??? (2)互聯(lián)網(wǎng)上的信息內(nèi)容采用什么格式,數(shù)據(jù)表現(xiàn)問題。

?

??? WAP論壇(現(xiàn)在歸到OMG)在2000年時就提出了WAP1.2規(guī)范,相比WAP1.1增加的主要內(nèi)容就是WAP Push的整個體系。 WAP Push分為Confirmed Push,即需要對方回送接收確認(rèn)信息的Push,和無連接模式的Push,即發(fā)送出去后,是否收到不管了。

?

??? 整個WAP框架包括PI(Push Initiator,即互聯(lián)網(wǎng)的服務(wù)器)、PPG(Push Proxy Gateway,一般為WAP網(wǎng)關(guān))、移動終端三大部分。PI到PPG之間是基于HTTP的PAP(Push Access Protocol)協(xié)議(PPG和PI互為HTTP服務(wù)器),PPG到移動終端之間是OTA(Over-The-Air)協(xié)議。

?

??? 基本流程是互聯(lián)網(wǎng)的服務(wù)器將要發(fā)送的信息內(nèi)容,采用XML表現(xiàn)形式,通過PAP協(xié)議發(fā)送給WAP網(wǎng)關(guān)。這里發(fā)生了很多細(xì)節(jié)過程后(計(jì)費(fèi)、SP標(biāo)識、訪問控制、信息內(nèi)容二進(jìn)制壓縮編碼、終端發(fā)現(xiàn)、終端能力特性檢查、終端地址解析),通過OTA協(xié)議將內(nèi)容發(fā)送到手機(jī)上(2.0以下的規(guī)范用OTA- WSP,2.0以上的規(guī)范用OTA-HTTP)。

?

??? 這是很理想的目標(biāo),可是在目前全球所有運(yùn)營商部署的無線網(wǎng)絡(luò)那里,實(shí)現(xiàn)這個基本都不現(xiàn)實(shí)。第二代無線網(wǎng)絡(luò)GSM/CDMA95A是基于信令的電路交換的通信技術(shù),并不支持IP協(xié)議,能進(jìn)行WAP這樣數(shù)據(jù)業(yè)務(wù),需要先在信令協(xié)議棧上借用modem撥號機(jī)制封裝成IP/PPP包。WAP網(wǎng)關(guān)通過信令網(wǎng)找到手機(jī)并建立WSP會話的連接,是不可能實(shí)現(xiàn)的。第二代半過渡性的網(wǎng)絡(luò)技術(shù)GPRS/CDMA1.x理論上是可以讓手機(jī)永久在線,擁有固定的IP地址,可現(xiàn)實(shí)并不是如此。空中信道的有限容量、計(jì)費(fèi)管理、網(wǎng)絡(luò)容量等方面都不成熟,所以,移動終端要像一臺服務(wù)器那樣,接收并處理WAP網(wǎng)關(guān)隨時發(fā)起的主動連接請求,只能等到第三代無線網(wǎng)絡(luò)技術(shù)全面普及的那一天了。

?

??? 正是由于上述局限,目前,在世界各地,所有運(yùn)營商和所有方案供應(yīng)商那里,都采用SMS方式承載OTA側(cè)的推送。SMS是信令通道上傳輸?shù)?#xff0c;處于網(wǎng)絡(luò)覆蓋中的手機(jī)通過BTS、BSC、MSC與短信中心隨時隨地可以相互通信。所以,作為這種服務(wù)器到終端的信息傳輸載體,SMS是最適合不過了。

?

??? 中國移動和中國聯(lián)通都對SP提供了WAP Push接口,他們是通過WAP網(wǎng)關(guān)與短信中心的接口用SMS發(fā)送到手機(jī)上。既然他們也是用短消息來實(shí)現(xiàn)的,那么,如果我擁有一個短信發(fā)送通道,從理論上說,自然而然也可以發(fā)送WAP Push。

?

下面要說的就是WAP Push的信息表現(xiàn)形式問題。
??? WAP Push的內(nèi)容有兩種,一種是SI,service indication;另一種 SL,service loading。這兩種內(nèi)容類型的目的都是發(fā)送URL鏈接到手機(jī)上。SI是以異步方式發(fā)送一個通知、警示、提醒等信息到手機(jī)上,用戶會看到屏幕上顯示這條通知文字內(nèi)容,然后,提示你是否去那個頁面,如果去,手機(jī)將激活為WAP瀏覽器,打開這個鏈接,瀏覽其內(nèi)容。SL則是直接發(fā)送一個 URL鏈接到手機(jī)上,手機(jī)不會給用戶任何提示,自動地啟動WAP微瀏覽器,下載這個URL對應(yīng)的內(nèi)容,顯示在手機(jī)上。讓人覺得好像是推送了一個頁面下來了似的。MMS就是利用這個機(jī)制實(shí)現(xiàn)的。

?

??? 至于為什么不直接發(fā)送一個基于XML的WML頁面(包括多媒體信息圖像、聲音),WAP論壇的規(guī)范設(shè)計(jì)者找了一通理由,說這種方式存在很多弊病,所以,WAP Push就沒有直接推送內(nèi)容的規(guī)范了。我想未來3G肯定會有這樣的規(guī)范出臺。

?

??? 目前大部分手機(jī)并沒有實(shí)現(xiàn)對SL的支持,近幾年新出的WAP瀏覽器版本高點(diǎn)的手機(jī)基本都支持SI(OEM Openwave微瀏覽器的手機(jī)如果 WAP Browser版本在4.0以上的都支持)。國產(chǎn)手機(jī)基本都是貼牌生產(chǎn),內(nèi)核全是國外的,所以,國內(nèi)手機(jī)技術(shù)現(xiàn)狀基本跟歐洲一樣的格局。

?

??? 中國聯(lián)通的WAP網(wǎng)關(guān)和WAP Push業(yè)務(wù)都是有Openwave提供,Openwave出于對市場的壟斷和控制,在CDMA手機(jī)上的 WAP Push支持非常封閉保守,有些接口沒有遵循國際規(guī)范,通過聯(lián)通的短信中心發(fā)送WAP Push的SI消息到CDMA手機(jī)上,只能借用聯(lián)通和 OpenWave提供的接口標(biāo)準(zhǔn)。

?

二、WAP PUSH經(jīng)驗(yàn)總結(jié)(overSMS)????? http://kb.cnblogs.com/a/1057468/??(WAP 構(gòu)建 Java 應(yīng)用 和 WAP經(jīng)驗(yàn)總結(jié))

注:內(nèi)容很多,有時間應(yīng)該看看,這里只把wap push的部分拿了過來

?

sms實(shí)現(xiàn)wap push的方法和格式(轉(zhuǎn)載)
?
wap push格式
00???? ’SMSC Len。用手機(jī)上設(shè)置短信中心號碼
51???? ’submit type
00???? ’SMS_TP_Message_Reference type
0B??? ’對方電話的長度
A1???? ’Number type
13175639296F6?????? ’電話號碼:13573629696
00???? ’SMS_TP_PID
F5???? ’SMS DCS
A744???????? ’SMS available date
0B05040B8423F00003030101???????? ’Wap Push Header 1
29060603AE81EA8DCA?? 'Wap Push header 2
02
05? '-//WAPFORUM//DTD SI 1.0//EN
6A? 'UTF-8
00
45? '<si>
C6? '<indication
08? '<action=signal-high>
0C? 'href="http://
03? '字符串開始
687474703A2F2F3231382E35392E3133382E35343A32303030? 'URL:?? http://218.59.138.54:2000/
00? 'URL 字符串結(jié)束
01? '>
03? '內(nèi)容描述字符串開始
'這里就是顯示給用戶的內(nèi)容,用utf-8編碼。
9A6C5EF6671D?????? '內(nèi)容描述:馬延朝
00? '內(nèi)容描述字符串結(jié)束
01? '</indication>"
01? '</si>
可以只能顯示很少的漢字,請高手指點(diǎn)怎么分包發(fā)送更多的漢字?

?

一下方法是經(jīng)過驗(yàn)證的。

TrxID? =一個隨機(jī)數(shù)
??? fullStr = "0605040B8423F0" & TrxID & "0601AE"
??? fullStr = fullStr & "02056A0045C6080C03"
??? fullStr = fullStr & StrToHex(TheURL, 2)
??? fullStr = fullStr & "001103" & "0102"
??? fullStr = fullStr & "40494400080AC307" & Format(Now, "yyyymmddhhmmss")
??? fullStr = fullStr & "10C304" & "20990101" & "0103"
??? fullStr = fullStr & StrToHex(MServiceName, 2) & "000101"


分段發(fā)送的

例如? http://blog.csdn.net/eason_cou/archive/2007/05/11/wap.gd.monternet.com/?userType=B&serviceID=04020028 提示信息:神秘激情地帶,江湖兒女情長神秘激情地帶,江湖兒女情長神秘激情地帶,江湖兒女情長
第一包:
0B05040B8423F0000355020155060403AE81EA02056A0045C60C037761702E67642E6D6F6E74657
26E65742E636F6D2F3F75736572547970653D42267365727669636549443D303430323030323800
070103E7A59EE7A798E6BF80E68385E59CB0E5B8A62CE6B19FE6B996E584BFE5A5B3E68385E995BF
E7A59EE7A798E6BF80E68385E59CB0E5B8A62C?
第二包:
0B05040B8423F00003550202E6B19FE6B996E584BFE5A5B3E68385E995BFE7A59EE7A798E6BF80E6
8385E59CB0E5B8A62CE6B19FE6B996E584BFE5A5B3E68385E995BF000101 ,解釋可參考WDP WSP,我就不具體說了


0B是頭的總長度
05040B8423F0是固定的,表示接下來是一個WAP PUSH
分包的關(guān)鍵是0003550201,對應(yīng)GSM 03.40里9.2.3.24.1,00表示是Concatenated Short Messages,03是長度,55是reference number,樓主在這兒固定編碼會有問題的,如果同時下發(fā)兩條這樣的多包短信給同一個手機(jī),手機(jī)就區(qū)分不開了,02表示分成2個短信發(fā)送,01是當(dāng)前包的序號。


一個擴(kuò)展包wappush包是這么構(gòu)成的
WDP + WSP + SI/SL

如果長度超常(短信一個包的Content不要超過140)

就要分解成

WDP1 + (WSP+SI/SL)的part 1
WDP2 + (WSP+SI/SL)的part 2
...
WDPN + (WSP+SI/SL)的part N

?

如單包
WDP: 06 05 04 0B 84 23 F0
WSP: ...
SI/SL:...

雙包是
第1包
WDP: 0B 05 04 0B 84 23 F0 00 03 01 02 01
Part1: ...

// 00 - UDH IE Tag
// 03 - UDH SAR IE Length
// 01 - Refrence
// 02 - Total Packet
// 01 - Current Packet

第2包
WDP: 0B 05 04 0B 84 23 F0 00 03 01 02 02
Part2:...


WDP參考相關(guān)文檔。

?

=====================================================
首先,構(gòu)造一個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? '字符串開始
這里就是url從"http://"以后的那部分的每個字符的ASCII碼
00? '字符串結(jié)束
0A? 'created=
C3? '時間
07? '7個字節(jié),也可以是04,下面就只需要年月日就可以了
20 03 01 01 00 00 00 '年,月,日,時,分,秒,格式如何一看就明白吧。
10? 'si_expires=
C3? '時間
07? '跟上面一樣
20 04 01 01 00 00 00
01? '>
03? '字符串開始
這里就是顯示給用戶的內(nèi)容,用utf-8編碼。
utf-8編碼,英文字符直接用ascii碼;中文如果unicode是(二進(jìn)制)abcdefgh ijklmnop,
那么utf-8就會變成1110abcd 10efghij 10klmnop
00? '字符串結(jié)束
01? '</indication>"
01? '</si>

有了Push消息體之后,需要在前面增加一個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消息體的長度。如果消息體長度小于128,那么就要加上128。例如是93個字節(jié),那么需要填入DD
'至于大于127怎么處理,按照協(xié)議好像應(yīng)該是這樣,例如原來的二進(jìn)制abcdefgh,那么就要弄成兩個字節(jié):
'1000000a 1bcdefgh,但是嘗試還沒成功

在然后,還要在前面增加一個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

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

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

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

需要解決的問題:長于127字節(jié)/兩條短信的時候該怎么辦。

?

另轉(zhuǎn)載 Wap push over sms 實(shí)踐??


通過短信進(jìn)行點(diǎn)對點(diǎn)的WAP PUSH,本質(zhì)上來說應(yīng)該是發(fā)送一個wap頁面(WBXML)到接收方,里面含有一段文字和一個url鏈接。

在發(fā)送端采用PDU模式發(fā)送,編碼是UCS2。
?
整個發(fā)送的包大部分內(nèi)容都是固定的,只需要對幾個地方根據(jù)希望發(fā)送的內(nèi)容進(jìn)行一下替換即可。
?
我參考的例子是這樣的,只用說明中紅色的部分是需要變化的:
0051000BA13108086406F600F5A7850B05040B8423F0000303010129060603AE81EA8DCA02056A00
45C6080C033231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a737
03f7075736849643d3035303531313134313630353231000103E8AFB7E782B9E587BBE4BBA5E4B88B
E993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9000101

00 SMSC 地址信息的長度 00表示用手機(jī)上設(shè)置短信中心號碼,PDU 串的“SMSC 址格式”段和“SMSC 地址”段將省去
51 基本參數(shù)(TP-MTI/VFP) 不要求發(fā)送回復(fù)
00 消息基準(zhǔn)值(TP-MR)
0B 對方電話的長度
A1 目標(biāo)地址格式 A1表示為國內(nèi)格式
3108086406F6 目標(biāo)地址,補(bǔ)‘F’湊成偶數(shù)位后奇偶位互換 (因?yàn)槭謾C(jī)號碼是11位,需要補(bǔ)一個F,再將奇偶位互換,比如12345678901需要變成2143658709F1)
00 協(xié)議標(biāo)識(TP-PID) 是普通GSM 類型,點(diǎn)到點(diǎn)方式
F5 用戶信息編碼方式 (TP-DCS)
A7 有效期(TP-VP)
85 用戶信息長度(TP-UDL) (此處是從下面的0B開始所有的字節(jié)數(shù)/2對應(yīng)的十六進(jìn)制數(shù))
0B WAP PUSH頭部的總長度
05040B8423F0表示接下來是一個WAP PUSH
00 表示是Concatenated Short Messages
03 長度
03 reference number
01 表示分成1個短信發(fā)送
01 當(dāng)前包的序號
29060603AE81EA8DCA WSP
02 標(biāo)記位
05 -//WAPFORUM//DTD SI 1.0//EN
6A UTF-8
00 標(biāo)記開始
45
C6
08
0C href=\"http://
03 字符串開始
3231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f7075736
849643d3035303531313134313630353231 URL (編碼過的URL,不帶http://)
00 URL 字符串結(jié)束
01 >
03 內(nèi)容描述字符串開始
E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9 內(nèi)容描述字符串 (編碼過的文字內(nèi)容)
00 內(nèi)容描述字符串結(jié)束
01
01
?
?
AT指令發(fā)送時:
at+cmgf=0 //設(shè)置發(fā)送為二進(jìn)制模式
OK
at+cmgs=93 //十進(jìn)制的數(shù)字,值為 (上面生成的一大串的字節(jié)數(shù)/2)-1,還沒搞清為啥要減一
> 0051000BA1。。。。。。。(就是那一大串了) Ctrl+Z
+CMGS: 14
OK
?
發(fā)送成功

?

?三、WAPPUSH實(shí)現(xiàn)說明

It has been shown in this section that the MMS noti?cation is conveyed over the SMS bearer or alternatively over a data connection(e.g.GSMdatacon-nection or GPRS) if one had previously been established by the MMSclient(e.g.message submission or message retrieval).

根據(jù)這句話,還有我通過手機(jī)收發(fā)短信的觀察,一部分手機(jī)可能不是通過sms方式來實(shí)現(xiàn)的。因?yàn)閟ms肯定是不需要gprs聯(lián)網(wǎng)對吧,但觀察中發(fā)現(xiàn)在發(fā)給自己彩信的過程中,發(fā)送時GPRS連接,發(fā)送結(jié)束,斷開GPRS連接,然后在收到彩信之前還有一次短暫的連接GPRS的過程。由此現(xiàn)象推斷,這個m-notification-ind就是在這個時候發(fā)送的,而且是通過gprs,也就是wap發(fā)送的。至于為什么是通過wap協(xié)議。理由如下:在抓取的完整的收發(fā)過程數(shù)據(jù)包中(抓的tcp/ip數(shù)據(jù)包),只有收發(fā)和發(fā)送確認(rèn)數(shù)據(jù)包,而沒有通知消息的數(shù)據(jù)。由此判斷通知消息是通過wap協(xié)議,而不是whttp推送的。

轉(zhuǎn)載于:https://www.cnblogs.com/edward259/archive/2010/01/29/1659415.html

總結(jié)

以上是生活随笔為你收集整理的WAP PUSH——服务信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。