新四季網

一種雙工通信的方法及通信伺服器的製作方法

2023-08-05 03:17:56

專利名稱:一種雙工通信的方法及通信伺服器的製作方法
技術領域:
本發明屬於通信領域,尤其涉及一種雙工通信的方法及通信伺服器。
背景技術:
隨著網絡化社會的不斷進步,越來越多的網絡通訊工具應用到工作和生活中,比如飛信、MSN和一些企業版應用軟體等。在目前的即時通信應用中,客戶端與通信伺服器的之間建立的某一連接在同一時間點只能單獨發送或單獨接收數據,不能同時接收和發送數據,極大地降低了通信效率。另外,當有大量客戶端同時連接通信伺服器時,通信伺服器會產生大量連接,如果不對這些連接的數據緩衝區統一管理,將產生大量的內存碎片,降低了連接數據緩衝區的訪問速度,嚴重時甚至會導致通信伺服器崩潰。

發明內容
本發明提供一種雙工通信的方法及通信伺服器以解決上述問題。本發明提供一種雙工通信的方法,包括以下步驟。通信伺服器根據設定的最大客戶端連接數分配緩衝內存大小。所述通信伺服器創建雙工連接並為所述雙工連接分配數據緩衝區,其中,每個雙工連接包括一個數據接收連接以及一個數據發送連接。當所述通信伺服器從客戶端接收消息時,所述通信伺服器從與所述客戶端匹配的雙工連接的數據接收連接對應的數據緩衝區獲取接收的數據,當所述通信伺服器發送消息給所述客戶端時,所述通信伺服器將發送的數據寫入與所述客戶端匹配的雙工連接的數據發送連接對應的數據緩衝區,並將所述數據緩衝區的數據發送給所述客戶端。本發明提供一種雙工通信的通信伺服器,包括分配模塊、創建模塊、收發模塊,其中所述分配模塊連接所述創建模塊,所述創建模塊連接所述收發模塊,所述收發模塊,包括接收裝置及發送裝置,所述接收裝置連接所述發送裝置。所述分配模塊,用於根據設定的最大客戶端連接數分配緩衝內存大小。所述創建模塊,用於創建雙工連接並為所述雙工連接分配數據緩衝區,其中,每個雙工連接包括一個數據接收連接以及一個數據發送連接。所述接收裝置,用於從客戶端接收消息時,從與所述客戶端匹配的雙工連接的數據接收連接對應的數據緩衝區獲取接收的數據。所述發送裝置,用於發送消息給所述客戶端時,將發送的數據寫入與所述客戶端匹配的雙工連接的數據發送連接對應的數據緩衝區,並將所述數據緩衝區的數據發送給所述客戶端。相較於先前技術,根據本發明提供的雙工通信的方法及通信伺服器,創建同時用於接收和發送數據的雙工連接,並為每個雙工連接分配數據緩衝區,能夠同時進行收發數據,提高了通信效率。當通信伺服器從客戶端接收消息時,通信伺服器從與客戶端匹配的雙工連接的數據接收連接對應的數據緩衝區獲取接收的數據,當通信伺服器發送消息給客戶端時,通信伺服器將發送的數據寫入與客戶端匹配的雙工連接的數據發送連接對應的數據緩衝區,並將數據緩衝區的數據發送給客戶端。以上對數據緩衝區的統一管理,有效防止了內存碎片的產生,並且大大提高了伺服器尋址速度。


此處所說明的附圖用來提供對本發明的進ー步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中圖1所示為根據本發明的較佳實施例提供的雙エ通信的方法的流程圖;圖2所示為根據本發明的較佳實施例提供的雙エ通信的通信伺服器的示意圖。
具體實施例方式下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。圖1所示為根據本發明的較佳實施例提供的雙エ通信的方法的流程圖。如圖1所示,本發明較佳實施例提供的雙エ通信的方法包括步驟101 103。步驟101 通信伺服器根據設定的最大客戶端連接數分配緩衝內存大小。具體而言,每臺通信伺服器具有最大客戶端連接數,根據所述最大客戶端連接數分配緩衝內存大小。步驟102 所述通信伺服器創建雙エ連接並為所述雙エ連接分配數據緩衝區,其中,每個雙エ連接包括一個數據接收連接以及ー個數據發送連接。具體而言,通信伺服器創建雙エ連接,每個雙エ連接包括一個數據接收連接以及一個數據發送連接,所述雙エ連接的個數與設定的最大客戶端連接數相等。同吋,所述通信伺服器創建空閒池以及繁忙池,其中,所述空閒池用於存放當前沒有與客戶端匹配的雙 エ連接,所述繁忙池用於存放正在與客戶端匹配的雙エ連接。當所述通信伺服器偵聽到所述客戶端的通信連接時,所述通信伺服器從所述空閒池取出一個雙エ連接與所述客戶端匹配,並將所述雙エ連接放入所述繁忙池中。當所述客戶端斷開與所述通信伺服器的通信後, 所述通信伺服器清空與所述客戶端匹配的雙エ連接對應的數據緩衝區,並將所述雙エ連接從所述繁忙池移入所述空閒池中。所述通信伺服器創建雙エ連接後,為所述雙エ連接分配數據緩衝區,所述雙エ連接的數據緩衝區,一半用於存放所述數據接收連接接收的數據,另一半用於存放數據發送連接發送的數據。所述雙エ連接的數據緩衝區大小乘以最大客戶端連接數,即為通信伺服器分配的緩衝內存大小。舉例而言,設定通信伺服器的最大客戶端連接數為1000,所述通信伺服器為每個雙エ連接分配的數據緩衝區大小為2048byte,則通信伺服器分配的緩衝內存大小為 1000*2048byte。若第一個雙エ連接的數據緩衝區為0 2048byte,則所述第一個雙エ連接的數據接收連接所對應的緩衝區為0 10MByte、數據發送連接所對應的緩衝區為IOM 2048Byte。若第二個雙エ連接的數據緩衝區為2048 4096Byte,則所述第二個雙エ連接的數據接收連接所對應的緩衝區為2048 3072Byte、數據發送連接所對應的緩衝區為 3072 4096Byte。依次類推,直到將所有雙エ連接的數據緩衝區分配完畢。步驟103 當所述通信伺服器從客戶端接收消息吋,所述通信伺服器從與所述客戶端匹配的雙ェ連接的數據接收連接對應的數據緩衝區獲取接收的數據,當所述通信伺服器發送消息給所述客戶端時,所述通信伺服器將發送的數據寫入與所述客戶端匹配的雙ェ連接的數據發送連接對應的數據緩衝區,並將所述數據緩衝區的數據發送給所述客戶端。具體而言,通信伺服器從客戶端接收消息時,所述通信伺服器從繁忙池中找到與所述客戶端匹配的雙工連接,並在緩衝內存中查找該雙工連接的數據接收連接的數據緩衝區,從所述數據接收連接的數據緩衝區中取出數據後,解析數據,並進行業務邏輯處理。若通信伺服器發送消息給客戶端,所述通信伺服器首先從繁忙池中找到與所述客戶端匹配的雙工連接,並在緩衝內存中查找該雙工連接的數據發送連接的數據緩衝區,將要發送的數據寫入所述數據發送連接的數據緩衝區,然後發送所述數據發送連接的數據緩衝區的數據給客戶端。舉例而言,若通信伺服器接收到客戶端a發送的消息「〈root type ='login'from =』 a' />」,通信伺服器根據客戶端與雙工連接的匹配關係從繁忙池中查找與客戶端a匹配的雙工連接,接下來在緩衝內存中查找所述雙工連接的數據接收連接的數據緩衝區,從所述數據接收連接的數據緩衝區取出數據後,解析數據,得到「〈root type =,login' from =,a' />」,再將所述消息拋入業務邏輯處理。另夕卜,若通信伺服器向客戶端a發送消息「〈root type =』 text' say =』 hello' />」,通信伺服器根據客戶端與雙工連接的匹配關係從繁忙池中找到客戶端匹配的雙工連接,接下來在緩衝內存中查找所述雙工連接的數據發送連接的數據緩衝區,將 「〈root type =』 text' say =』 hello』 />」寫入到所述數據發送連接的數據緩衝區後,發送所述數據發送連接的數據緩衝區的數據給客戶端a。客戶端與雙工連接的數據緩衝區匹配關係如下表所示
客戶端名稱雙工連接名稱數據緩衝區(單位byte)a雙工連接1數據接收連接/0 1024數據發送連接/1024 2048b雙工連接2數據接收連接/2048 3072數據發送連接/3072 4096圖2所示為根據本發明的較佳實施例提供的雙工通信的通信伺服器的示意圖。如圖2所示,本發明較佳實施例提供的雙工通信的通信伺服器包括分配模塊1、創建模塊2、收發模塊3,其中所述分配模塊1連接所述創建模塊2,所述創建模塊2連接所述收發模塊3, 所述收發模塊3,包括接收裝置31及發送裝置32,所述接收裝置31連接所述發送裝置32。 所述分配模塊1,用於根據設定的最大客戶端連接數分配緩衝內存大小。所述創建模塊2, 用於創建雙工連接並為所述雙工連接分配數據緩衝區,其中,每個雙工連接包括一個數據接收連接以及一個數據發送連接。所述接收裝置31,用於從客戶端接收消息時,從與所述客戶端匹配的雙工連接的數據接收連接對應的數據緩衝區獲取接收的數據。所述發送裝置 32,用於發送消息給所述客戶端時,將發送的數據寫入與所述客戶端匹配的雙工連接的數據發送連接對應的數據緩衝區,並將所述數據緩衝區的數據發送給所述客戶端。綜上所述,根據本發明較佳實施例提供的雙工通信的方法及通信伺服器,創建同時用於接收和發送數據的雙エ連接,並為每個雙エ連接分配數據緩衝區。當通信伺服器從客戶端接收消息吋,通信伺服器從與客戶端匹配的雙エ連接的數據接收連接對應的數據緩衝區獲取接收的數據,當通信伺服器發送消息給客戶端吋,通信伺服器將發送的數據寫入與客戶端匹配的雙エ連接的數據發送連接對應的數據緩衝區,並將數據緩衝區的數據發送給客戶端。在雙エ連接提高通信效率的同時,對數據緩衝做了統ー管理,防止了內存碎片的產生,提高了內存的訪問速度。 以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種雙エ通信的方法,其特徵在幹,包括以下步驟通信伺服器根據設定的最大客戶端連接數分配緩衝內存大小;所述通信伺服器創建雙エ連接並為所述雙エ連接分配數據緩衝區,其中,每個雙エ連接包括一個數據接收連接以及ー個數據發送連接;當所述通信伺服器從客戶端接收消息吋,所述通信伺服器從與所述客戶端匹配的雙エ 連接的數據接收連接對應的數據緩衝區獲取接收的數據,當所述通信伺服器發送消息給所述客戶端吋,所述通信伺服器將發送的數據寫入與所述客戶端匹配的雙エ連接的數據發送連接對應的數據緩衝區,並將所述數據緩衝區的數據發送給所述客戶端。
2.根據權利要求1所述的方法,其特徵在幹,所述通信伺服器創建空閒池以及繁忙池, 其中,所述空閒池用於存放當前沒有與客戶端匹配的雙エ連接,所述繁忙池用於存放正在與客戶端匹配的雙エ連接。
3.根據權利要求2所述的方法,其特徵在幹,當所述通信伺服器偵聽到所述客戶端的通信連接時,所述通信伺服器從所述空閒池取出一個雙エ連接與所述客戶端匹配,並將所述雙エ連接放入所述繁忙池中。
4.根據權利要求2所述的方法,其特徵在幹,當所述客戶端斷開與所述通信伺服器的通信後,所述通信伺服器清空與所述客戶端匹配的雙エ連接對應的數據緩衝區,並將所述雙エ連接從所述繁忙池移入所述空閒池中。
5.根據權利要求1所述的方法,其特徵在幹,所述緩衝內存大小為每個雙エ連接預設的數據緩衝區大小與設定的最大客戶端連接數的乘積。
6.根據權利要求1或5所述的方法,其特徵在幹,每個雙エ連接的數據緩衝區的一半用於存放所述數據接收連接接收的數據,另一半用於存放數據發送連接發送的數據。
7.根據權利要求1或5所述的方法,其特徵在幹,所述雙エ連接的個數與設定的最大客戶端連接數相等。
8.—種雙エ通信的通信伺服器,其特徵在幹,包括分配模塊、創建模塊、收發模塊,其中所述分配模塊連接所述創建模塊,所述創建模塊連接所述收發模塊,所述收發模塊,包括接收裝置及發送裝置,所述接收裝置連接所述發送裝置,所述分配模塊,用於根據設定的最大客戶端連接數分配緩衝內存大小;所述創建模塊,用於創建雙エ連接並為所述雙エ連接分配數據緩衝區,其中,每個雙エ 連接包括一個數據接收連接以及ー個數據發送連接;所述接收裝置,用於從客戶端接收消息時,從與所述客戶端匹配的雙エ連接的數據接收連接對應的數據緩衝區獲取接收的數據;所述發送裝置,用於發送消息給所述客戶端時,將發送的數據寫入與所述客戶端匹配的雙ェ連接的數據發送連接對應的數據緩衝區,並將所述數據緩衝區的數據發送給所述客戶端。
全文摘要
本發明提供一種雙工通信的方法及通信伺服器,上述方法包括以下步驟。通信伺服器根據設定的最大客戶端連接數分配緩衝內存大小。所述通信伺服器創建雙工連接並為所述雙工連接分配數據緩衝區,其中,每個雙工連接包括一個數據接收連接以及一個數據發送連接。當所述通信伺服器從客戶端接收消息時,所述通信伺服器從與所述客戶端匹配的雙工連接的數據接收連接對應的數據緩衝區獲取接收的數據,當所述通信伺服器發送消息給所述客戶端時,所述通信伺服器將發送的數據寫入與所述客戶端匹配的雙工連接的數據發送連接對應的數據緩衝區,並將所述數據緩衝區的數據發送給所述客戶端。
文檔編號H04L5/14GK102546140SQ20121000551
公開日2012年7月4日 申請日期2012年1月10日 優先權日2012年1月10日
發明者胡加明 申請人:蘇州闊地網絡科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀