两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種網(wǎng)絡(luò)包通信方法和系統(tǒng)的制作方法

文檔序號:7794604閱讀:313來源:國知局
一種網(wǎng)絡(luò)包通信方法和系統(tǒng)的制作方法
【專利摘要】本申請?zhí)峁┝艘环N網(wǎng)絡(luò)包通信方法,包括:客戶端封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;客戶端發(fā)送網(wǎng)絡(luò)包到服務端;服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包。本申請還提供了對應的系統(tǒng)。本發(fā)明通過將超過標準長度的消息拆分成多個標準長度的消息并打包發(fā)送到服務端,避免了出現(xiàn)長消息拆分成子消息之后必須排隊發(fā)送的過程,提高了效率。
【專利說明】一種網(wǎng)絡(luò)包通信方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本申請涉及通信【技術(shù)領(lǐng)域】,特別是涉及一種網(wǎng)絡(luò)包通信方法和系統(tǒng)。

【背景技術(shù)】
[0002]在通信領(lǐng)域,大多數(shù)通信都利用TCP協(xié)議進行,但是在TCP協(xié)議中規(guī)定了一條消息的最大長度是65536字節(jié)。如果消息長度超過65536字節(jié)則需要將該消息拆分成多個消息,然后按照固定順序傳送。
[0003]在實際使用中,本發(fā)明的發(fā)明人發(fā)現(xiàn),在超過長度的消息拆分發(fā)送過程中,如果拆分的子消息由于連接不穩(wěn)定或者其它原因?qū)е掠幸粭l子消息發(fā)送不成功,則后續(xù)子消息必須等待該子消息重新發(fā)送成功才能進入發(fā)送;這樣的發(fā)送方式在消息長度特別大或者消息數(shù)量比較多的情況下效率比較低。


【發(fā)明內(nèi)容】

[0004]本申請所要解決的技術(shù)問題是提供一種可以發(fā)送超過標準長度的網(wǎng)絡(luò)包通信方法以及對應的裝置。
[0005]為了解決上述問題,本申請公開了一種網(wǎng)絡(luò)包通信方法,包括:
客戶端封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;
客戶端發(fā)送網(wǎng)絡(luò)包到服務端;
服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包。
[0006]進一步,所述服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包后還包括:
服務端處理所述數(shù)據(jù)包,并將結(jié)果返回到客戶端。
[0007]進一步,所述客戶端封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包包括:
客戶端將長度大于預設(shè)閾值的數(shù)據(jù)包拆分成至少兩個長度小于等于預設(shè)閾值的子數(shù)據(jù)包;
客戶端將所述子數(shù)據(jù)包按順序封裝成包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;所述子數(shù)據(jù)包封的消息ID相同。
[0008]進一步,所述服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包包括: 服務端將消息ID相同的網(wǎng)絡(luò)包進行解析獲取子數(shù)據(jù)包;
將所述子數(shù)據(jù)包組裝形成數(shù)據(jù)包。
[0009]本申請還提供了一種網(wǎng)絡(luò)包通信系統(tǒng),包括:
客戶端,用于封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;發(fā)送網(wǎng)絡(luò)包
服務端,用于將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包。
[0010]進一步,所述服務端還用于處理所述數(shù)據(jù)包,并將結(jié)果返回到客戶端。
[0011]進一步,所述客戶端還用于:
將長度大于預設(shè)閾值的數(shù)據(jù)包拆分成至少兩個長度小于等于預設(shè)閾值的子數(shù)據(jù)包;將所述子數(shù)據(jù)包按順序封裝成包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;所述子數(shù)據(jù)包封的消息ID相同。
[0012]進一步,所述服務端還用于:
將消息ID相同的網(wǎng)絡(luò)包進行解析獲取子數(shù)據(jù)包;
將所述子數(shù)據(jù)包組裝形成數(shù)據(jù)包。
[0013]與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點:通過將超過標準長度的消息拆分成多個標準長度的消息并打包發(fā)送到服務端,避免了出現(xiàn)長消息拆分成子消息之后必須排隊發(fā)送的過程,提高了效率。
[0014]

【專利附圖】

【附圖說明】
圖1是本發(fā)明一種網(wǎng)絡(luò)包通信方法一實施例的流程圖;
圖2是本發(fā)明一種網(wǎng)絡(luò)包通信系統(tǒng)一實施例的結(jié)構(gòu)示意圖。

【具體實施方式】
[0015]為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0016]參照圖1,示出了本申請一種網(wǎng)絡(luò)包通信方法一實施例的流程圖;
本發(fā)明實施例提供的網(wǎng)絡(luò)包通信方法,包括:
步驟S101、客戶端封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;進一步,所述客戶端封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包包括:
客戶端將長度大于預設(shè)閾值的數(shù)據(jù)包拆分成至少兩個長度小于等于預設(shè)閾值的子數(shù)據(jù)包;
客戶端將所述子數(shù)據(jù)包按順序封裝成包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;所述子數(shù)據(jù)包封的消息ID相同。
[0017]客戶端即將通過TCP協(xié)議發(fā)送數(shù)據(jù)包時,先判斷該數(shù)據(jù)包是否超過65536字節(jié),如果超過65536字節(jié)則將該數(shù)據(jù)包進行分拆。在分拆過程中例如該數(shù)據(jù)包需要分拆成3個子消息才能滿足三個子消息在封裝后都小于或等于65536字節(jié),則將該消息分拆為三個子消息,進行封裝形成數(shù)據(jù)包。在封裝形成的數(shù)據(jù)包中,至少應該包含該子消息所屬的數(shù)據(jù)包的消息ID、分拆前的數(shù)據(jù)包的消息長度和子消息的數(shù)據(jù)內(nèi)容。值得說明的是,本發(fā)明實施例在實際應用時,客戶端可以是包含本端應用軟件和通信設(shè)備的一個整體。
[0018]步驟S102、客戶端發(fā)送網(wǎng)絡(luò)包到服務端;
客戶端在發(fā)送封裝完成的網(wǎng)絡(luò)包時,無需按照子消息在數(shù)據(jù)包中的前后順序進行發(fā)送,只需按照預置規(guī)則排隊發(fā)送即可。如果發(fā)送過程中,某一個網(wǎng)絡(luò)包發(fā)送失敗,后續(xù)網(wǎng)絡(luò)包無需等待可以先行發(fā)送,等第二次發(fā)送成功后再將之前發(fā)送失敗的網(wǎng)絡(luò)包發(fā)送。
[0019]步驟S103、服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包。
[0020]進一步,所述服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包后還包括: 服務端處理所述數(shù)據(jù)包,并將結(jié)果返回到客戶端。
[0021]進一步,所述服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包包括: 服務端將消息ID相同的網(wǎng)絡(luò)包進行解析獲取子數(shù)據(jù)包;
將所述子數(shù)據(jù)包組裝形成數(shù)據(jù)包。
[0022]服務端獲取到同一消息ID下所有網(wǎng)絡(luò)包后,判斷所有網(wǎng)絡(luò)包中數(shù)據(jù)內(nèi)容的長度相加所得的結(jié)果是否與網(wǎng)絡(luò)包中的消息長度一致,如果一致則判斷同一消息ID下所有網(wǎng)絡(luò)包接收完成。當所有網(wǎng)絡(luò)包接收完成之后,服務端將所有網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容解析出,然后封裝成數(shù)據(jù)包。
[0023]本發(fā)明實施例通過將超過標準長度的消息拆分成多個標準長度的消息并打包發(fā)送到服務端,避免了出現(xiàn)長消息拆分成子消息之后必須排隊發(fā)送的過程,提高了效率。
[0024]參照圖2為本發(fā)明一種網(wǎng)絡(luò)包通信系統(tǒng)一實施例的結(jié)構(gòu)示意圖。
[0025]本申請?zhí)峁┮环N網(wǎng)絡(luò)包通信系統(tǒng),包括:
客戶端21,用于封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包; 服務端22,用于接收網(wǎng)絡(luò)包;將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包。
[0026]進一步,所述服務端22還用于處理所述數(shù)據(jù)包,并將結(jié)果返回到客戶端21。
[0027]進一步,所述客戶端21還用于:
將長度大于預設(shè)閾值的數(shù)據(jù)包拆分成至少兩個長度小于等于預設(shè)閾值的子數(shù)據(jù)包;將所述子數(shù)據(jù)包按順序封裝成包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;所述子數(shù)據(jù)包封的消息ID相同。
[0028]進一步,所述服務端22還用于:
將消息ID相同的網(wǎng)絡(luò)包進行解析獲取子數(shù)據(jù)包;
將所述子數(shù)據(jù)包組裝形成數(shù)據(jù)包。
[0029]客戶端21即將通過TCP協(xié)議發(fā)送數(shù)據(jù)包時,先判斷該數(shù)據(jù)包是否超過65536字節(jié),如果超過65536字節(jié)則將該數(shù)據(jù)包進行分拆。在分拆過程中例如該數(shù)據(jù)包需要分拆成3個子消息才能滿足三個子消息在封裝后都小于或等于65536字節(jié),則將該消息分拆為三個子消息,進行封裝形成數(shù)據(jù)包。在封裝形成的數(shù)據(jù)包中,至少應該包含該子消息所屬的數(shù)據(jù)包的消息ID、分拆前的數(shù)據(jù)包的消息長度和子消息的數(shù)據(jù)內(nèi)容。值得說明的是,本發(fā)明實施例在實際應用時,客戶端21可以是包含本端應用軟件和通信設(shè)備的一個整體。
[0030]客戶端21在發(fā)送封裝完成的網(wǎng)絡(luò)包時,無需按照子消息在數(shù)據(jù)包中的前后順序進行發(fā)送,只需按照預置規(guī)則排隊發(fā)送即可。如果發(fā)送過程中,某一個網(wǎng)絡(luò)包發(fā)送失敗,后續(xù)網(wǎng)絡(luò)包無需等待可以先行發(fā)送,等第二次發(fā)送成功后再將之前發(fā)送失敗的網(wǎng)絡(luò)包發(fā)送。
[0031]服務端22獲取到同一消息ID下所有網(wǎng)絡(luò)包后,判斷所有網(wǎng)絡(luò)包中數(shù)據(jù)內(nèi)容的長度相加所得的結(jié)果是否與網(wǎng)絡(luò)包中的消息長度一致,如果一致則判斷同一消息ID下所有網(wǎng)絡(luò)包接收完成。當所有網(wǎng)絡(luò)包接收完成之后,服務端22將所有網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容解析出,然后封裝成數(shù)據(jù)包。
[0032]對于系統(tǒng)實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0033]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
[0034]以上對本申請所提供的一種網(wǎng)絡(luò)包通信方法和系統(tǒng),進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本申請的限制。
【權(quán)利要求】
1.一種網(wǎng)絡(luò)包通信方法,其特征在于,包括: 客戶端封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包; 客戶端發(fā)送網(wǎng)絡(luò)包到服務端; 服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包后還包括: 服務端處理所述數(shù)據(jù)包,并將結(jié)果返回到客戶端。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述客戶端封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包包括: 客戶端將長度大于預設(shè)閾值的數(shù)據(jù)包拆分成至少兩個長度小于等于預設(shè)閾值的子數(shù)據(jù)包; 客戶端將所述子數(shù)據(jù)包按順序封裝成包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;所述子數(shù)據(jù)包封的消息ID相同。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述服務端將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包包括: 服務端將消息ID相同的網(wǎng)絡(luò)包進行解析獲取子數(shù)據(jù)包; 將所述子數(shù)據(jù)包組裝形成數(shù)據(jù)包。
5.一種網(wǎng)絡(luò)包通信系統(tǒng),其特征在于,包括: 客戶端,用于封裝數(shù)據(jù)包形成至少包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;發(fā)送網(wǎng)絡(luò)包; 服務端,用于將相同消息ID的網(wǎng)絡(luò)包中的數(shù)據(jù)內(nèi)容組裝形成數(shù)據(jù)包。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述服務端還用于處理所述數(shù)據(jù)包,并將結(jié)果返回到客戶端。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述客戶端還用于: 將長度大于預設(shè)閾值的數(shù)據(jù)包拆分成至少兩個長度小于等于預設(shè)閾值的子數(shù)據(jù)包; 將所述子數(shù)據(jù)包按順序封裝成包含消息ID、消息長度和數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)包;所述子數(shù)據(jù)包封的消息ID相同。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述服務端還用于: 將消息ID相同的網(wǎng)絡(luò)包進行解析獲取子數(shù)據(jù)包; 將所述子數(shù)據(jù)包組裝形成數(shù)據(jù)包。
【文檔編號】H04L29/06GK104253811SQ201410006305
【公開日】2014年12月31日 申請日期:2014年1月7日 優(yōu)先權(quán)日:2014年1月7日
【發(fā)明者】盧長燭, 賈西貝 申請人:深圳市華傲數(shù)據(jù)技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阿合奇县| 神池县| 肥城市| 门头沟区| 玉门市| 忻城县| 蓝山县| 民乐县| 土默特右旗| 临泽县| 和平区| 鄯善县| 舒兰市| 玉山县| 裕民县| 柞水县| 绥德县| 行唐县| 腾冲县| 江安县| 宣化县| 侯马市| 惠州市| 阿荣旗| 科技| 改则县| 安丘市| 慈溪市| 图木舒克市| 玉田县| 苗栗市| 萝北县| 卓尼县| 六安市| 内江市| 环江| 湟源县| 武义县| 灵川县| 巴彦县| 锦州市|