一種獲得消息的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種獲得消息的方法及裝置。
【背景技術(shù)】
[0002]目前,客戶端/服務(wù)器(Client/Server,C/S)模式,是目前互聯(lián)網(wǎng)技術(shù)領(lǐng)域中常用的一種數(shù)據(jù)交互模式。在該模式下,服務(wù)器可以采用推送(push)方式,將消息發(fā)送給客戶端。
[0003]現(xiàn)有技術(shù)中的push方式存在的缺陷在于,被發(fā)送的消息的消息體中包含了本次待發(fā)送給客戶端的全部數(shù)據(jù),消息體較大,所以下發(fā)失敗的幾率較大,尤其是在移動(dòng)通信網(wǎng)絡(luò)進(jìn)行消息發(fā)送時(shí),失敗的幾率更大。并且,下發(fā)失敗后,服務(wù)器并不會(huì)獲知消息發(fā)送失敗,從而也不會(huì)進(jìn)行消息重發(fā)。
【發(fā)明內(nèi)容】
[0004]本申請(qǐng)實(shí)施例提供一種獲得消息的方法,用以解決現(xiàn)有技術(shù)中客戶端獲取消息失敗的幾率較高的問題。
[0005]本申請(qǐng)實(shí)施例還提供一種提供消息的方法,用以解決現(xiàn)有技術(shù)中客戶端獲取消息失敗的幾率較高的問題。
[0006]本申請(qǐng)實(shí)施例還提供一種獲得消息的裝置以及一種提供消息的裝置,用以解決現(xiàn)有技術(shù)中客戶端獲取消息失敗的幾率較高的問題。
[0007]本申請(qǐng)實(shí)施例采用下述技術(shù)方案:
[0008]—種獲得消息的方法,包括:
[0009]客戶端接收通過服務(wù)器與所述客戶端之間的長連接發(fā)送來的第一消息;識(shí)別所述第一消息是否為約定的提醒消息;在識(shí)別出所述第一消息是所述約定的消息時(shí),請(qǐng)求從所述服務(wù)器下載第二消息,直至第二消息下載成功或直至第二消息過期。
[0010]一種消息提供方法,包括:
[0011]服務(wù)器通過所述服務(wù)器與客戶端之間的長連接,向所述客戶端發(fā)送第一消息;月艮務(wù)器響應(yīng)于所述客戶端的消息下載請(qǐng)求,向所述客戶端發(fā)送第二消息;所述的消息下載請(qǐng)求,是所述客戶端識(shí)別出所述第一消息為約定的消息后發(fā)送的。
[0012]一種獲得消息的裝置,包括:
[0013]消息接收單元,用于接收通過服務(wù)器與所述客戶端之間的長連接發(fā)送來的第一消息;消息識(shí)別單元,用于識(shí)別所述第一消息是否為約定的提醒消息;消息下載單元,用于在識(shí)別出所述第一消息是所述約定的消息時(shí),請(qǐng)求從所述服務(wù)器下載第二消息,直至第二消息下載成功或直至第二消息過期。
[0014]一種消息提供裝置,包括:
[0015]消息發(fā)送單元,用于通過所述服務(wù)器與客戶端之間的長連接,向所述客戶端發(fā)送第一消息;消息下載單元,用于響應(yīng)于所述客戶端的消息下載請(qǐng)求,向所述客戶端發(fā)送第二消息;所述的消息下載請(qǐng)求,是所述客戶端識(shí)別出所述第一消息為約定的消息后發(fā)送的。
[0016]本申請(qǐng)實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:
[0017]由于客戶端可以根據(jù)提醒消息,獲知服務(wù)器有需發(fā)送給客戶端的消息,從而主動(dòng)請(qǐng)求從服務(wù)器下載第二消息,直至下載成功,因此可以降低客戶端獲取消息失敗的幾率。
【附圖說明】
[0018]此處所說明的附圖用來提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0019]圖1為本申請(qǐng)實(shí)施例提供的一種獲得消息的方法的具體實(shí)現(xiàn)流程示意圖;
[0020]圖2為本申請(qǐng)實(shí)施例提供的一種獲得分享壁紙的方法的具體實(shí)現(xiàn)流程示意圖;
[0021]圖3為本申請(qǐng)實(shí)施例提供的一種獲得消息的裝置的具體結(jié)構(gòu)示意圖;
[0022]圖4為本申請(qǐng)實(shí)施例提供的一種消息提供裝置的具體結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0024]以下結(jié)合附圖,詳細(xì)說明本申請(qǐng)各實(shí)施例提供的技術(shù)方案。
[0025]實(shí)施例1
[0026]本申請(qǐng)實(shí)施例提供了一種獲得消息的方法,用以解決現(xiàn)有技術(shù)中客戶端獲取消息失敗的幾率較高的問題。
[0027]本申請(qǐng)實(shí)施例提供的獲得消息的方法的執(zhí)行主體可以但不限于為手機(jī)、平板電腦、個(gè)人電腦(Personal Computer,PC)以及智能電視。此外,該方法的執(zhí)行主體,也可以是安裝在上述終端上的應(yīng)用程序(Applicat1n,APP)。所述的執(zhí)行主體并不構(gòu)成對(duì)本申請(qǐng)的限定,為了便于描述,本申請(qǐng)實(shí)施例均以執(zhí)行主體是客戶端為例進(jìn)行說明。
[0028]該方法的具體實(shí)現(xiàn)流程示意圖如圖1所示,主要包括下述步驟:
[0029]步驟11,客戶端接收通過服務(wù)器與所述客戶端之間的長連接發(fā)送來的第一消息;
[0030]其中,所述長連接可以是基于傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議或其他協(xié)議(Transmiss1n Control Pro toco I/Internet Protocol,TCP/IP 協(xié)議)建立的客戶端與服務(wù)器之間的通訊連接,通過該連接客戶端可以與服務(wù)器進(jìn)行數(shù)據(jù)傳輸,且在數(shù)據(jù)傳輸結(jié)束后,該連接可以繼續(xù)保持。長連接已是較成熟的相關(guān)技術(shù),此處不再贅述。
[0031]本申請(qǐng)實(shí)施例中,服務(wù)器一般是在生成需要提供給客戶端的消息(如后文所說的第二消息)后,通過所述長連接,向所述客戶端發(fā)送所述第一消息。
[0032]步驟12,識(shí)別所述第一消息是否為約定的提醒消息;當(dāng)識(shí)別出所述第一消息是所述約定的提醒消息時(shí),執(zhí)行步驟13;否則,執(zhí)行步驟14;
[0033]根據(jù)第一消息的生成方式的不同,本申請(qǐng)實(shí)施例提供以下兩種方式,來識(shí)別所述第一消息是否為約定的提醒消息,具體包括:
[0034]方式a:判斷接收到第一消息所包含的消息標(biāo)識(shí),是否為指定標(biāo)識(shí);
[0035]需要說明的是,所述接收到的第一消息,可以是服務(wù)器根據(jù)第二消息標(biāo)識(shí)(比如,可以是第二消息的類型標(biāo)識(shí)等等)生成的。生成的該第一消息中,可以包含第二消息標(biāo)識(shí)。在這樣的場景下,服務(wù)器上往往保存有第二消息標(biāo)識(shí)與第二消息的映射關(guān)系。
[0036]—般地,服務(wù)器以及與該服務(wù)器建立連接的客戶端上均可以保存所述指定標(biāo)識(shí),則當(dāng)客戶端接收到通過服務(wù)器與客戶端之間的長連接發(fā)送來的第一消息后,客戶端可以將接收到的第一消息中包含的消息標(biāo)識(shí)與客戶端本地保存的指定標(biāo)識(shí)進(jìn)行比較,當(dāng)比較結(jié)果為第一消息中包含的消息標(biāo)識(shí)與客戶端本地保存的指定標(biāo)識(shí)相同時(shí),則可以識(shí)別所述第一消息為約定的提醒消息。
[0037]方式b:判斷所述第一消息是否為消息體為空的消息;
[0038]當(dāng)客戶端接收到的所述第一消息為消息體為空的消息時(shí),則判定所述第一消息為約定的提醒消息。
[0039]需要說明的是,所述提醒消息,可以觸發(fā)接收到該消息的客戶端從服務(wù)器下載第二消息。
[0040]還需要說明的是,服務(wù)器發(fā)送的提醒消息,至少可以有以下兩種生成方式:
[0041 ]方式1:服務(wù)器生成包含指定標(biāo)識(shí)的提醒消息;
[0042]需要的說明的是,所述指定標(biāo)識(shí)可以是服務(wù)器與客戶端約定的、用于表示提醒消息的標(biāo)識(shí)。該標(biāo)識(shí)比如可以是任意字符,該字符可以攜帶在提醒消息的消息體中,發(fā)送給客戶端。
[0043]方式2:生成消息體為空的第一消息;
[0044]S卩,第一消息沒有消息內(nèi)容。此時(shí),客戶端接收到服務(wù)器通過所述長連接發(fā)送來的消息體為空的消息,可以作為服務(wù)器向客戶端發(fā)送的提醒消息。
[0045]需要說明的是,采用方式2提供的方法,由于生成的第一消息的消息體為空,耗費(fèi)的傳輸資源較小,更適合基于所述長連接發(fā)送。
[0046]步驟13,請(qǐng)求從服務(wù)器下載第二消息,直至第二消息下載成功或直至第二消息過期;
[0047]需要說明的是,客戶端從服務(wù)器下載第二消息時(shí),可以新建所述客戶端與服務(wù)器之間的通訊連接,比如,可以基于超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP協(xié)議)建立客戶端與服務(wù)器之間的通訊連接。
[0048]基于上述方法,可以保證即使在步驟11執(zhí)行完成后,客戶端與服務(wù)器之間建立的長連接中斷,客戶端也可以通過新建的通訊連接,從服務(wù)器下載第二消息的。