網(wǎng)絡文本發(fā)送方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種網(wǎng)絡文本發(fā)送方法及裝置。該網(wǎng)絡文本發(fā)送方法包括:服務端接收客戶端發(fā)送的目標請求消息;服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型;如果檢測出目標請求消息中包含目標頭文件,則服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。通過本發(fā)明,解決了由于客戶端向服務端調(diào)用文本時將語言設置作為傳遞參數(shù),導致服務端向客戶端發(fā)送的網(wǎng)絡文本容易出現(xiàn)錯誤的問題,進而通過在檢測出目標請求消息中包含目標頭文件情況下,服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本,達到了提高服務端向客戶端發(fā)送網(wǎng)絡文本的準確性的效果。
【專利說明】網(wǎng)絡文本發(fā)送方法及裝置
【技術(shù)領域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領域,具體而言,涉及一種網(wǎng)絡文本發(fā)送方法及裝置。
【背景技術(shù)】
[0002]在面相服務的系統(tǒng)中,客戶端向服務端調(diào)用服務方法時,往往希望服務端根據(jù)客戶端語言設置的不同,返回不同語言的文本。例如,如果客戶端的語言設置是en-US,則希望服務端返回英文文本;如果客戶端語言設置是zh-CN,則希望服務端返回中文文本。
[0003]現(xiàn)有方法是將客戶端的語言設置作為服務方法的一個參數(shù),例如,如果客戶端傳遞的語言參數(shù)為en-US,則返回英文文本,如果客戶端傳遞的語言參數(shù)為zh-CN,則返回中文文本。由于語言參數(shù)是和業(yè)務邏輯無關(guān)的,因此在服務接口中添加了語言參數(shù),則客戶端需要傳遞無用的參數(shù),這在一定程度上增加了客戶端的調(diào)用難度和學習成本,也增大了日后的維護成本和出錯的概率。
[0004]針對相關(guān)技術(shù)中由于客戶端向服務端調(diào)用文本時將語言設置作為傳遞參數(shù),導致服務端向客戶端發(fā)送的網(wǎng)絡文本容易出現(xiàn)錯誤的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提供一種網(wǎng)絡文本發(fā)送方法及裝置,以解決由于客戶端向服務端調(diào)用文本時將語言設置作為傳遞參數(shù),導致服務端向客戶端發(fā)送網(wǎng)絡文本時容易出現(xiàn)錯誤的問題。
[0006]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種網(wǎng)絡文本發(fā)送方法。
[0007]根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送方法包括:服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本;服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型;如果檢測出目標請求消息中包含目標頭文件,則服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0008]進一步地,服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本包括:服務端讀取目標頭文件中包含的目標語言類型的信息;服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0009]進一步地,在服務端接收客戶端發(fā)送的目標請求消息之前,該方法還包括:客戶端確定目標語言類型;客戶端根據(jù)目標語言類型創(chuàng)建目標頭文件;客戶端將目標頭文件添加到目標請求消息中;客戶端將目標請求消息發(fā)送給服務端。
[0010]進一步地,如果檢測出目標請求消息中不包含目標頭文件,該方法還包括:服務端確定默認語言類型;服務端向客戶端發(fā)送語言類型為默認語言類型的網(wǎng)絡文本。
[0011]進一步地,在服務端檢測目標請求消息中是否包含目標頭文件之前,該方法還包括:服務端記錄預設線程語言類型,其中,預設線程語言類型為服務器預設的執(zhí)行服務的線程語言的類型,在服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本之后,該方法還包括:判斷目標語言類型和預設線程語言類型是否相同;如果目標語言類型和預設線程語言類型不同,則將服務端執(zhí)行服務的線程語言的類型恢復為預設線程語言類型。
[0012]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)絡文本發(fā)送裝置。
[0013]根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送裝置包括:接收單元,用于服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本;檢測單元,用于服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型;第一發(fā)送單元,用于在檢測出目標請求消息中包含目標頭文件時,服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0014]進一步地,第一發(fā)送單元包括:讀取模塊,用于服務端讀取目標頭文件中包含的目標語言類型的信息;發(fā)送模塊,用于服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0015]進一步地,該裝置還包括:第一確定單元,用于客戶端確定目標語言類型;創(chuàng)建單元,用于客戶端根據(jù)目標語言類型創(chuàng)建目標頭文件;添加單元,用于客戶端將目標頭文件添加到目標請求消息中;第二發(fā)送單元,用于客戶端將目標請求消息發(fā)送給服務端。
[0016]進一步地,如果檢測出目標請求消息中不包含目標頭文件,該裝置還包括:第二確定單元,用于服務端確定默認語言類型;第三發(fā)送單元,用于服務端向客戶端發(fā)送語言類型為默認語言類型的網(wǎng)絡文本。
[0017]進一步地,該裝置還包括:記錄單元,用于服務端記錄預設線程語言類型,其中,預設線程語言類型為服務器預設的執(zhí)行服務的線程語言的類型;判斷單元,用于判斷目標語言類型和預設線程語言類型是否相同;恢復單元,用于在目標語言類型和預設線程語言類型不同時,將服務端執(zhí)行服務的線程語言的類型恢復為預設線程語言類型。
[0018]通過本發(fā)明,采用包括以下步驟的方法:服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本;服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型;如果檢測出目標請求消息中包含目標頭文件,則服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本,解決了由于客戶端向服務端調(diào)用文本時將語言設置作為傳遞參數(shù),導致服務端向客戶端發(fā)送網(wǎng)絡文本時容易出現(xiàn)錯誤的問題,進而通過在檢測出目標請求消息中包含目標頭文件情況下,服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本,達到了提高服務端向客戶端發(fā)送網(wǎng)絡文本的準確性的效果。
【專利附圖】
【附圖說明】
[0019]構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0020]圖1是根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送方法的第一實施例的流程圖;
[0021]圖2是根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送方法的第二實施例的流程圖;以及
[0022]圖3是根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送裝置的實施例的示意圖。
【具體實施方式】
[0023]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。
[0024]為了使本【技術(shù)領域】的人員更好地理解本申請方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
[0025]需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本申請的實施例。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
[0026]根據(jù)本發(fā)明的實施例,提供了一種網(wǎng)絡文本發(fā)送方法。
[0027]圖1是根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送方法的第一實施例的流程圖。如圖1所示,該方法包括步驟S102至步驟S106:
[0028]步驟S102,服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本。
[0029]目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本,例如客戶端需要調(diào)用服務端的服務方法,則通過向服務端發(fā)出調(diào)用服務方法的目標請求消息,可以獲取服務端發(fā)送的對應服務方法的網(wǎng)絡文本。需要說明的是,網(wǎng)絡文本具有不同的語言類型,比如中文、英文等。
[0030]步驟S104,服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型。
[0031]在服務端接收客戶端發(fā)送的目標請求消息之前,客戶端會首先確定目標語言類型,即客戶端當前使用的語言的類型??蛻舳烁鶕?jù)目標語言類型創(chuàng)建目標頭文件。目標頭文件為名稱為culture的header,其值為客戶端當前使用的語言的類型。進而,客戶端將名稱為culture的header添加到目標請求消息中??蛻舳藢⒛繕苏埱笙l(fā)送給服務端,從而從服務端獲取需要的網(wǎng)絡文本。該步驟中,服務端檢測目標請求消息中是否包含名稱為culture的header,以從中獲取客戶端發(fā)送請求時使用的語言的類型。
[0032]步驟S106,如果檢測出目標請求消息中包含目標頭文件,則服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0033]如果服務端檢測出目標請求消息中包含名稱為culture的header,則服務端可以確定客戶端發(fā)送請求時使用的語言的類型,后續(xù)只需將客戶端需要的網(wǎng)絡文本的語言類型設置為該類型即可滿足客戶端的需求。
[0034]服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本可通過如下步驟實現(xiàn):服務端讀取目標頭文件中包含的目標語言類型的信息;服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。通過從目標頭文件中讀取目標語言類型的信息,可以準確地獲取客戶端需要的文本的語言類型。
[0035]該實施例由于采用了如下步驟:服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本;服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型;如果檢測出目標請求消息中包含目標頭文件,則服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本,解決了由于客戶端向服務端調(diào)用文本時將語言設置作為傳遞參數(shù),導致服務端向客戶端發(fā)送網(wǎng)絡文本時容易出現(xiàn)錯誤的問題,進而通過在檢測出目標請求消息中包含目標頭文件情況下,服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本,達到了提高服務端向客戶端發(fā)送網(wǎng)絡文本的準確性的效果。
[0036]圖2是根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送方法的第二實施例的流程圖。圖2可以作為圖1所示實施例的一種優(yōu)選實施方式。如圖2所示,該方法包括步驟S201至步驟S208:
[0037]步驟S201,服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本。
[0038]該步驟同步驟S102,這里不再贅述。
[0039]步驟S202,服務端記錄預設線程語言類型,其中,預設線程語言類型為服務器預設的執(zhí)行服務的線程語言的類型。
[0040]對于一臺服務器而言,其執(zhí)行服務的線程語言通常是固定的,比如為英文。在服務器接收到客戶端發(fā)送的請求消息后,根據(jù)請求消息中包含的目標語言類型的信息,可能會改變執(zhí)行服務的語言類型。例如,服務器執(zhí)行服務的線程語言的類型為英文,而目標語言類型為中文,則在服務端向客戶端發(fā)送網(wǎng)絡文本時,會將語言由英文更替為中文。
[0041]步驟S203,服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型。
[0042]該步驟同步驟S104,這里不再贅述。
[0043]步驟S204,如果檢測出目標請求消息中包含目標頭文件,則服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0044]該步驟同步驟S106,這里不再贅述。
[0045]步驟S205,如果檢測出目標請求消息中不包含目標頭文件,則服務端確定默認語言類型。
[0046]步驟S206,服務端向客戶端發(fā)送語言類型為默認語言類型的網(wǎng)絡文本。
[0047]如果服務端檢測出目標請求消息中不包含目標頭文件,則服務端將會以默認語言類型格式向客戶端發(fā)送網(wǎng)絡文本。
[0048]步驟S207,判斷目標語言類型和預設線程語言類型是否相同。
[0049]步驟S208,如果目標語言類型和預設線程語言類型不同,則將服務端執(zhí)行服務的線程語言的類型恢復為預設線程語言類型。
[0050]當服務端向客戶端發(fā)送網(wǎng)絡文本結(jié)束之后,服務端會判斷目標語言類型和預設線程語言類型是否相同。為了保證服務端后續(xù)的常規(guī)服務的正常執(zhí)行,在判斷出目標語言類型和預設線程語言類型不相同的情況下,需要將服務端執(zhí)行服務的線程語言的類型恢復為預設線程語言類型。例如,服務端執(zhí)行服務的預設線程語言類型為英文,而在向客戶端發(fā)送網(wǎng)絡文本時更改為了中文,則在發(fā)送網(wǎng)絡文本完成之后,需要將服務端執(zhí)行服務的線程語言的類型重新恢復為英文。
[0051]在上述步驟中,服務端讀取Header信息,提取客戶端傳遞的語言(culture),以及在服務方法執(zhí)行期間使用客戶端傳遞的語言,服務方法執(zhí)行完成后恢復為原始的語言,使得客戶端調(diào)用服務端的服務方法變得簡單易行,減少了調(diào)用出錯的概率。
[0052]該實施例由于采用了如下步驟:服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本;服務端記錄預設線程語言類型,其中,預設線程語言類型為服務器預設的執(zhí)行服務的線程語言的類型;服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型;如果檢測出目標請求消息中包含目標頭文件,則服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本;如果檢測出目標請求消息中不包含目標頭文件,則服務端確定默認語言類型;服務端向客戶端發(fā)送語言類型為默認語言類型的網(wǎng)絡文本;判斷目標語言類型和預設線程語言類型是否相同;如果目標語言類型和預設線程語言類型不同,則將服務端執(zhí)行服務的線程語言的類型恢復為預設線程語言類型,解決了由于客戶端向服務端調(diào)用文本時將語言設置作為傳遞參數(shù),導致服務端向客戶端發(fā)送網(wǎng)絡文本時容易出現(xiàn)錯誤的問題。同時,服務器只是在執(zhí)行服務時臨時進行語言類型的更改,執(zhí)行服務結(jié)束后,恢復為原始的線程語言類型,既滿足了客戶端的要求,又不會對服務器后續(xù)服務的執(zhí)行造成其他影響。
[0053]下面是根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送方法的第三實施例。該實施例是以.NET中WCF為例對本發(fā)明進行具體的說明。
[0054]首先對該實施例中涉及的一些概念進行簡單的介紹:
[0055]UffCF:支持一些通信協(xié)議的礦建,為面相服務構(gòu)建的一整套框架。
[0056]2、WCF通信過程包括:
[0057](I)創(chuàng)建 ServiceHost,并打開 ServiceHost。
[0058]ServiceHost是Service的宿主,Service不能單獨運行,而是寄宿在ServiceHost中。
[0059](2)創(chuàng)建ChannelListener,負責監(jiān)聽請求,監(jiān)聽到請求后,將請求分發(fā)至匹配的EndPoint0
[0060](3)Endpoint使用EndpointDispatcher將請求信息分發(fā)至指定服務器。
[0061](4)獲取或者創(chuàng)建服務實例。
[0062](5)通過DispatchOperat1n 中的 CallContextlnitializers集合,初始化當前線程的上下文,主要是調(diào)用CallContextInitializer中的BeforeInvoke方法。
[0063]DispatchOperat1n負責將請求分發(fā)至指定服務操作,它的CallContextlnitializers 集合包含多個 CallContextInitializer,它定義了兩個操作,即Beforelnvoke (執(zhí)行服務方法前被調(diào)用,用于執(zhí)行服務方法前的初始化)和AfterInvoke (執(zhí)行服務方法后被調(diào)用,用于執(zhí)行服務方法后的資源清理)。
[0064](6)通過DispatchOperat1n將請求消息反序列化為方法參數(shù),執(zhí)行服務方法,并序列化返回值。
[0065](7)通過 DispatchOperat1n 中的 CallContextlnitializers 集合清理線程上下文,主要是調(diào)用 CallContextInitializer 中的 AfterInvoke 方法。
[0066](8)資源的釋放和清理。
[0067]3、契約:包括服務契約、數(shù)據(jù)契約等,本實施例中特指服務契約,相當于接口,用于定義包含了哪些操作。
[0068]4、服務:一種分布式系統(tǒng)中使用的通信技術(shù)標準,不依賴于具體的編程語言和系統(tǒng),即可以實踐跨語言邊界、跨系統(tǒng),不同語言和不同系統(tǒng)之間可以通過服務進行交互。
[0069]5、終結(jié)點(EndPoint):服務通信通過終結(jié)點來完成,終結(jié)點包含三部分:
[0070](I)契約;
[0071](2)地址:引用服務的地址;
[0072](3)綁定:服務使用了何種傳輸協(xié)議,以及如何傳輸數(shù)據(jù)。
[0073]下面對本實施例的具體實現(xiàn)步驟做具體的說明。
[0074]1、創(chuàng)建 CallContextInitializer,添加 CallContextInitializer 接口,需要實現(xiàn)如下兩個方面:
[0075](I)BeforeInvoke,首先保存服務方法當前線程使用的語言,讀取客戶端請求中包含的Culture header,提取其包含的語言信息,將服務方法的線程的語言修改為客戶端傳遞過來的語言,返回之前記錄的服務方法所在線程的語言(即修改前的原始語言),該返回值即AfterInvoke的參數(shù)。
[0076](2) AfterInvoke,該方法的參數(shù)為BeforeInvoke的返回值,即服務方法所在線程的原始語言。該方法在執(zhí)行服務方法后被調(diào)用,用于恢復服務方法所在線程的語言。
[0077]2、將CallContextInitializer添加到服務端的WCF處理架構(gòu)中,包括如下兩種實現(xiàn)方式:
[0078](I)通過Operat1nBehav1r 將CallContextInitializer添加到服務端的 WCF處理架構(gòu)中,Operat1nBehav1r用于定義單個操作的行為。
[0079]定義實現(xiàn)1perat1nBehav1r 接口的 Attribute, Operat1nBehav1r 的ApplyDispatc hBehav1r方法可以訪問DispatchOperat1n,因此在該方法中,將新建的CallContextIn itializer 添力口至丨J DispatchOperat1n 的 CallContextlnitializers 集合中,然后將Attribute應用到契約中。該方法執(zhí)行前后會使用CallContextInitializer的處理邏輯。
[0080](2)通過 EndPointBehav1r 將 CallContextInitializer 添加到服務端的 WCF 處理架構(gòu)中,EndPointBehav1r用于定義EndPoint行為。該方法具體為:
[0081]①定義實現(xiàn)IEndpointBehav1r 接口的 Behav1r,應用 EndpointBehav1r的 Apply DispatchBehav1r 方法,可以訪問 DispatcherOperat1n 集合,因此可以在該方法中將新建的CallContextInitializer添加到所有DispatchOperat1n的CallContextlnitializers 集合中。
[0082]②定義新的Behav1rExtens1nElement,該類用于在配置文件中為EndPoint添力口 EndPointBehav1r0
[0083]③修改服務端配置文件,為EndPoint應用新定義的Behav1rExtens1nElement配置。
[0084]經(jīng)過上述步驟,分發(fā)到EndPoint的所有操作都會使用定義的EndpointBehav1r處理邏輯,即執(zhí)行CallContextInitializer定義的邏輯。
[0085]本實施例通過解析Header的方式,達到了自動傳遞客戶端語言、服務端自動獲取客戶端語言的效果。通過該方法,客戶端在調(diào)用服務方法時,只需要關(guān)心和業(yè)務邏輯相關(guān)的參數(shù),使得客戶端的請求操作更加易于執(zhí)行;同時,對于客戶端來說,系統(tǒng)變得更加穩(wěn)定,系統(tǒng)的后期維護也變得更加簡單,減小了出錯的概率。
[0086]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0087]根據(jù)本發(fā)明的實施例,提供了一種網(wǎng)絡文本發(fā)送裝置。需要說明的是,本發(fā)明實施例的網(wǎng)絡文本發(fā)送裝置可以用于執(zhí)行本發(fā)明實施例所提供的網(wǎng)絡文本發(fā)送方法,本發(fā)明實施例的網(wǎng)絡文本發(fā)送方法也可以通過本發(fā)明實施例所提供的網(wǎng)絡文本發(fā)送裝置來執(zhí)行。
[0088]圖3是根據(jù)本發(fā)明的網(wǎng)絡文本發(fā)送裝置的實施例的示意圖。如圖3所示,該裝置包括:接收單元10、檢測單元20和第一發(fā)送單元30。
[0089]接收單元10,用于服務端接收客戶端發(fā)送的目標請求消息,其中,目標請求消息用于請求服務端向客戶端發(fā)送網(wǎng)絡文本。
[0090]可選地,該裝置還包括:第一確定單元,用于客戶端確定目標語言類型;創(chuàng)建單元,用于客戶端根據(jù)目標語言類型創(chuàng)建目標頭文件;添加單元,用于客戶端將目標頭文件添加到目標請求消息中;第二發(fā)送單元,用于客戶端將目標請求消息發(fā)送給服務端。
[0091]檢測單元20,用于服務端檢測目標請求消息中是否包含目標頭文件,其中,目標頭文件中包含目標語言類型的信息,目標語言類型為客戶端使用的語言類型。
[0092]第一發(fā)送單元30,用于在檢測出目標請求消息中包含目標頭文件時,服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0093]第一發(fā)送單元30包括:讀取模塊,用于服務端讀取目標頭文件中包含的目標語言類型的信息;發(fā)送模塊,用于服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本。
[0094]如果檢測出目標請求消息中不包含目標頭文件,該裝置還可以包括:第二確定單元,用于服務端確定默認語言類型;第三發(fā)送單元,用于服務端向客戶端發(fā)送語言類型為默認語言類型的網(wǎng)絡文本。
[0095]該裝置還可以包括:記錄單元,用于服務端記錄預設線程語言類型,其中,預設線程語言類型為服務器預設的執(zhí)行服務的線程語言的類型;判斷單元,用于判斷目標語言類型和預設線程語言類型是否相同;恢復單元,用于在目標語言類型和預設線程語言類型不同時,將服務端執(zhí)行服務的線程語言的類型恢復為預設線程語言類型。
[0096]本實施例提供的網(wǎng)絡文本發(fā)送裝置包括:接收單元10、檢測單元20和第一發(fā)送單元30。通過該裝置,解決了由于客戶端向服務端調(diào)用文本時將語言設置作為傳遞參數(shù),導致服務端向客戶端發(fā)送網(wǎng)絡文本時容易出現(xiàn)錯誤的問題,進而通過在檢測出目標請求消息中包含目標頭文件情況下,利用第一發(fā)送單元30實現(xiàn)服務端向客戶端發(fā)送語言類型為目標語言類型的網(wǎng)絡文本,達到了提高服務端向客戶端發(fā)送網(wǎng)絡文本的準確性的效果。
[0097]顯然,本領域的技術(shù)人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0098] 以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種網(wǎng)絡文本發(fā)送方法,其特征在于,包括: 服務端接收客戶端發(fā)送的目標請求消息,其中,所述目標請求消息用于請求所述服務端向所述客戶端發(fā)送網(wǎng)絡文本; 所述服務端檢測所述目標請求消息中是否包含目標頭文件,其中,所述目標頭文件中包含目標語言類型的信息,所述目標語言類型為所述客戶端使用的語言類型;以及 如果檢測出所述目標請求消息中包含所述目標頭文件,則所述服務端向所述客戶端發(fā)送語言類型為所述目標語言類型的網(wǎng)絡文本。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務端向所述客戶端發(fā)送語言類型為所述目標語言類型的網(wǎng)絡文本包括: 所述服務端讀取所述目標頭文件中包含的目標語言類型的信息;以及 所述服務端向所述客戶端發(fā)送語言類型為所述目標語言類型的網(wǎng)絡文本。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在服務端接收客戶端發(fā)送的目標請求消息之前,所述方法還包括: 所述客戶端確定所述目標語言類型; 所述客戶端根據(jù)所述目標語言類型創(chuàng)建所述目標頭文件; 所述客戶端將所述目標頭文件添加到所述目標請求消息中;以及 所述客戶端將所述目標請求消息發(fā)送給所述服務端。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,如果檢測出所述目標請求消息中不包含所述目標頭文件,所述方法還包括: 所述服務端確定默認語言類型;以及 所述服務端向所述客戶端發(fā)送語言類型為所述默認語言類型的網(wǎng)絡文本。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于, 在所述服務端檢測所述目標請求消息中是否包含目標頭文件之前,所述方法還包括:所述服務端記錄預設線程語言類型,其中,所述預設線程語言類型為所述服務器預設的執(zhí)行服務的線程語言的類型, 在所述服務端向所述客戶端發(fā)送語言類型為所述目標語言類型的網(wǎng)絡文本之后,所述方法還包括: 判斷所述目標語言類型和所述預設線程語言類型是否相同;以及如果所述目標語言類型和所述預設線程語言類型不同,則將所述服務端執(zhí)行服務的線程語言的類型恢復為所述預設線程語言類型。
6.一種網(wǎng)絡文本發(fā)送裝置,其特征在于,包括: 接收單元,用于服務端接收客戶端發(fā)送的目標請求消息,其中,所述目標請求消息用于請求所述服務端向所述客戶端發(fā)送網(wǎng)絡文本; 檢測單元,用于所述服務端檢測所述目標請求消息中是否包含目標頭文件,其中,所述目標頭文件中包含目標語言類型的信息,所述目標語言類型為所述客戶端使用的語言類型;以及 第一發(fā)送單元,用于在檢測出所述目標請求消息中包含所述目標頭文件時,所述服務端向所述客戶端發(fā)送語言類型為所述目標語言類型的網(wǎng)絡文本。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第一發(fā)送單元包括: 讀取模塊,用于所述服務端讀取所述目標頭文件中包含的目標語言類型的信息;以及 發(fā)送模塊,用于所述服務端向所述客戶端發(fā)送語言類型為所述目標語言類型的網(wǎng)絡文本。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第一確定單元,用于所述客戶端確定所述目標語言類型; 創(chuàng)建單元,用于所述客戶端根據(jù)所述目標語言類型創(chuàng)建所述目標頭文件; 添加單元,用于所述客戶端將所述目標頭文件添加到所述目標請求消息中;以及 第二發(fā)送單元,用于所述客戶端將所述目標請求消息發(fā)送給所述服務端。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,如果檢測出所述目標請求消息中不包含所述目標頭文件,所述裝置還包括: 第二確定單元,用于所述服務端確定默認語言類型;以及 第三發(fā)送單元,用于所述服務端向所述客戶端發(fā)送語言類型為所述默認語言類型的網(wǎng)絡文本。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 記錄單元,用于所述服務端記錄預設線程語言類型,其中,所述預設線程語言類型為所述服務器預設的執(zhí)行服務的線程語言的類型; 判斷單元,用于判斷所述目標語言類型和所述預設線程語言類型是否相同;以及恢復單元,用于在所述目標語言類型和所述預設線程語言類型不同時,將所述服務端執(zhí)行服務的線程語言的類型恢復為所述預設線程語言類型。
【文檔編號】G06F17/30GK104408199SQ201410779617
【公開日】2015年3月11日 申請日期:2014年12月15日 優(yōu)先權(quán)日:2014年12月15日
【發(fā)明者】馬燕龍 申請人:北京國雙科技有限公司