專利名稱:一種使用tcp協(xié)議傳輸短文本消息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用TCP協(xié)議傳輸短文本消息的方法,特別涉及一種基于 Silverlight(Silverlight是微軟提供的一個(gè)跨瀏覽器、跨客戶平臺(tái)的技術(shù),能夠設(shè)計(jì)、開(kāi) 發(fā)和發(fā)布有多媒體體驗(yàn)與富交互的網(wǎng)絡(luò)交互程序)使用TCP協(xié)議傳輸短文本消息的方法。
背景技術(shù):
RIA(Rich Interface Application,即有多媒體體驗(yàn)與富交互的網(wǎng)絡(luò)交互程序) 是一種目前熱門的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),因?yàn)樗軌蜷_(kāi)發(fā)出具有專業(yè)圖形、音頻和視頻的Web應(yīng) 用程序,這能大大的增強(qiáng)用戶體驗(yàn)。目前實(shí)現(xiàn)RIA有兩種技術(shù)Flash( —種由macromedia公司推出的交互式矢量圖 和網(wǎng)頁(yè)動(dòng)畫(huà)的標(biāo)準(zhǔn)。網(wǎng)頁(yè)設(shè)計(jì)者使用Flash可以創(chuàng)作出既漂亮又可改變尺寸的導(dǎo)航界面以 及其他奇特的效果)和Silverlight。Silverlight技術(shù)在為開(kāi)發(fā)者、使用者提供大量便利 的同時(shí),在采用TCP (Transmission Control Protocol,即傳輸控制協(xié)議)作為傳輸協(xié)議的 時(shí)候存在著不能使用二進(jìn)制傳輸,只能使用文本傳輸?shù)木窒?。棋牌網(wǎng)絡(luò)游戲的消息傳輸都是比較短的消息,在采用Silverlight作為客戶端平 臺(tái)與服務(wù)器通信的時(shí)候,如何設(shè)計(jì)出合理高效的短文本消息傳輸結(jié)構(gòu)成了一個(gè)必須解決問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是在Silverlight作為客戶端平臺(tái)與服務(wù)器通信的 情況下,如何設(shè)計(jì)出嚴(yán)謹(jǐn)合理,可以高效傳輸、快速識(shí)別的短文本消息的問(wèn)題。本發(fā)明所述的一種使用TCP協(xié)議傳輸短文本消息的方法,該方法至少包括如下的 步驟步驟1 設(shè)計(jì)一個(gè)消息傳輸對(duì)象,用整型的屬性“T”代表消息類型,用字符串類型 的屬性“M”代表消息體。步驟2 在初始化完畢消息對(duì)象傳輸之前,使用JS0N (JavaScript Object Notation,它是一種輕量級(jí)的數(shù)據(jù)交換格式,易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生 成。它采用完全獨(dú)立于語(yǔ)言的文本格式,它可以用很簡(jiǎn)短的文本表示復(fù)雜的對(duì)象,這些特性 使JS0N成為理想的數(shù)據(jù)交換語(yǔ)言。)序列化此對(duì)象為一個(gè)文本字符串。步驟3 把每個(gè)序列化消息對(duì)象后生成的字符串末尾加上字符“>”,此字符是消息 間的分隔字符,用于接收方在同時(shí)收到多個(gè)消息的時(shí)候以此標(biāo)記為準(zhǔn)進(jìn)行快速分拆。步驟4 把消息發(fā)送給接收方。步驟5 接收方以“〉”標(biāo)記為準(zhǔn)對(duì)消息進(jìn)行分拆,得到單獨(dú)的消息字符串。步驟6 接收方對(duì)每個(gè)分拆后的消息體字符串用JS0N進(jìn)行反序列化,得到消息對(duì) 象后,使用面向?qū)ο蟮姆椒ㄟM(jìn)行進(jìn)一步處理。本發(fā)明涉及的一種使用TCP協(xié)議傳輸短文本消息的方法,使得在只能以文本進(jìn)行傳輸消息的時(shí)候,消息體小,易于多消息的分拆,因?yàn)橄⑿蛄谢昂头葱蛄谢笫且?對(duì)象方式存在的,易于程序進(jìn)行面向?qū)ο蟮奶幚怼?br>
具體實(shí)施例方式本發(fā)明的主要步驟如下步驟1 設(shè)計(jì)一個(gè)消息傳輸對(duì)象,用整型的屬性“T”代表消息類型,用字符串類型 的屬性“M”代表消息體。步驟2 在初始化完畢消息對(duì)象傳輸之前,使用JS0N序列化此對(duì)象為一個(gè)文本字符串。步驟3 把每個(gè)序列化消息對(duì)象后生成的字符串末尾加上字符“〉”。步驟4 把消息發(fā)送給接收方。步驟5 接收方以“〉”標(biāo)記為準(zhǔn)對(duì)消息進(jìn)行分拆,得到單獨(dú)的消息字符串。步驟6 接收方對(duì)每個(gè)分拆后的消息體字符串用JS0N進(jìn)行反序列化,得到消息對(duì) 象后,使用面向?qū)ο蟮姆椒ㄟM(jìn)行進(jìn)一步處理。上述的技術(shù)方案實(shí)施時(shí),客戶端、服務(wù)器程序可以以面向?qū)ο蟮姆绞教幚硐?duì) 象,以盡可能短的文本傳輸消息對(duì)象,這將使得程序在享受面向?qū)ο笤O(shè)計(jì)的便利的同時(shí), 服務(wù)器只消耗很小的帶寬,同時(shí)以特征字符為分隔符的方法也使得實(shí)現(xiàn)消息的分拆非常簡(jiǎn) 最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明而并非限制本發(fā)明所描述的技術(shù)方 案。因此,盡管本說(shuō)明書(shū)參照上述的實(shí)施例對(duì)本發(fā)明已進(jìn)行了詳細(xì)的說(shuō)明,但是,本領(lǐng)域的 普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對(duì)本發(fā)明進(jìn)行修改或者等同地替換。而一切不脫離本發(fā) 明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
一種使用TCP協(xié)議傳輸短文本消息的方法,其特征在于該方法至少包括如下的步驟步驟1設(shè)計(jì)一個(gè)消息傳輸對(duì)象,用整型的屬性“T”代表消息類型,用字符串類型的屬性“M”代表消息體。步驟2在初始化完畢消息對(duì)象傳輸之前,使用JSON序列化此對(duì)象為一個(gè)文本字符串。步驟3把每個(gè)序列化消息對(duì)象后生成的字符串末尾加上字符“>”,此字符是消息間的分隔字符,用于接收方在同時(shí)收到多個(gè)消息的時(shí)候以此標(biāo)記為準(zhǔn)進(jìn)行快速分拆。步驟4把消息發(fā)送給接收方。步驟5接收方以“>”標(biāo)記為準(zhǔn)對(duì)消息進(jìn)行分拆,得到單獨(dú)的消息字符串。步驟6接收方對(duì)每個(gè)分拆后的消息體字符串用JSON進(jìn)行反序列化,得到消息對(duì)象后,使用面向?qū)ο蟮姆椒ㄟM(jìn)行進(jìn)一步處理。
全文摘要
一種使用TCP協(xié)議傳輸短文本消息的方法,首先設(shè)計(jì)一個(gè)消息傳輸對(duì)象,用整型的屬性“T”代表消息類型,用字符串類型的屬性“M”代表消息體;在初始化完畢消息對(duì)象傳輸之前,使用JSON序列化此對(duì)象為一個(gè)文本字符串;然后把消息發(fā)送給接收方;接收方以“>”標(biāo)記為準(zhǔn)對(duì)消息進(jìn)行分拆,得到單獨(dú)的消息字符串;最后接收方對(duì)每個(gè)分拆后的消息體字符串用JSON進(jìn)行反序列化,得到消息對(duì)象后,使用面向?qū)ο蟮姆椒ㄟM(jìn)行進(jìn)一步處理。本發(fā)明使得在只能以文本進(jìn)行傳輸消息的時(shí)候,消息體小,易于多消息的分拆,因?yàn)橄⑿蛄谢昂头葱蛄谢笫且詫?duì)象方式存在的,易于程序進(jìn)行面向?qū)ο蟮奶幚怼?br>
文檔編號(hào)H04L12/58GK101888368SQ200910084089
公開(kāi)日2010年11月17日 申請(qǐng)日期2009年5月14日 優(yōu)先權(quán)日2009年5月14日
發(fā)明者劉立軍, 張守文, 王磊, 陶勇勝 申請(qǐng)人:灰熊(北京)科技有限公司