[發(fā)明專利]一種異步IOCP實現(xiàn)的SOKCET通信設(shè)計方法在審
| 申請?zhí)枺?/td> | 201410812331.5 | 申請日: | 2014-12-24 |
| 公開(公告)號: | CN105791230A | 公開(公告)日: | 2016-07-20 |
| 發(fā)明(設(shè)計)人: | 季曉宇 | 申請(專利權(quán))人: | 常熟市盛銘信息技術(shù)有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 215500 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 異步 iocp 實現(xiàn) sokcet 通信 設(shè)計 方法 | ||
技術(shù)領(lǐng)域
本申請涉及一種基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)通信技術(shù),特別涉及一種異步IOCP實現(xiàn)的SOKCET通信設(shè)計方法。
背景技術(shù)
TCP/IP協(xié)議保障了數(shù)據(jù)傳輸?shù)牡竭_和準確率,但未對應(yīng)用層數(shù)據(jù)提交的完整性進行保障。
在進行TCP數(shù)據(jù)流式傳輸?shù)倪^程中,數(shù)據(jù)通常具備應(yīng)用層協(xié)議,同步Socket中,在應(yīng)用層發(fā)送數(shù)據(jù)時,會阻塞調(diào)用,直到所有的數(shù)據(jù)都提交到TCP層,但在異步Socket中,TCP層只接收能接收的數(shù)據(jù)容量,對于超出其接收范圍的,TCP層將不再接收,調(diào)用會立即返回。
在TCP層進行數(shù)據(jù)遠程發(fā)送后,會空閑出空間,此時能夠再次接收外來數(shù)據(jù),但需要應(yīng)用方再次調(diào)用進行數(shù)據(jù)提交,方能提交數(shù)據(jù)到TCP層。可見TCP/IP協(xié)議在應(yīng)用層發(fā)送數(shù)據(jù)時,無法保障在異步Socket傳輸中,完整的提交應(yīng)用層協(xié)議數(shù)據(jù)到TCP層。
發(fā)明內(nèi)容
本申請要解決的技術(shù)問題是,保障TCP/IP協(xié)議在應(yīng)用層發(fā)送數(shù)據(jù)時,在異步Socket傳輸中,完整的提交應(yīng)用層協(xié)議數(shù)據(jù)到TCP層。
為解決上述技術(shù)問題,本申請?zhí)峁┝艘环N異步IOCP實現(xiàn)的SOKCET通信設(shè)計方法,包括以下步驟:
一、設(shè)置一緩存器,用于緩存發(fā)送數(shù)據(jù);設(shè)置一數(shù)據(jù)發(fā)送驅(qū)動模塊,用于每隔一定的時間檢查所述緩存器是否存有數(shù)據(jù),如果存有數(shù)據(jù),則依先進先出順序推送不超過設(shè)定量的數(shù)據(jù)到TCP層;
二、接收應(yīng)用層的發(fā)送調(diào)用,如果接收到應(yīng)用層的發(fā)送調(diào)用則進行步驟三;
三、判斷應(yīng)用層的待發(fā)送數(shù)據(jù)的大小是否超過所述緩存器的總存儲空間,如果超過則進行步驟二,否則進行步驟四;
四、判斷所述緩存器中是否緩存有數(shù)據(jù),如果有則進行步驟五,否則進行步驟九;
五、從所述緩存器中依先進先出順序推送不超過設(shè)定量的數(shù)據(jù)到TCP層;
六、判斷所述緩存器中是否還緩存有數(shù)據(jù),如果有則進行步驟七,否則進行步驟九;
七、判斷應(yīng)用層的待發(fā)送數(shù)據(jù)的大小是否超過所述緩存器的剩余存儲空間,如果超過則進行步驟二,否則進行步驟八;
八、保存待發(fā)送數(shù)據(jù)到所述緩存器,然后進行步驟二;
九、推送不超過設(shè)定量的待發(fā)送數(shù)據(jù)到TCP層,如果待發(fā)送數(shù)據(jù)全部推送完畢,則進行步驟二,否則將剩余的待發(fā)送數(shù)據(jù)保存到所述緩存器,然后進行步驟二。
具體實施方式
下面將對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。應(yīng)當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本申請,并不用于限定本申請。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都屬于本申請保護的范圍。
實施例如下:
一種異步IOCP實現(xiàn)的SOKCET通信設(shè)計方法,包括以下步驟:
一、設(shè)置一緩存器,用于緩存發(fā)送數(shù)據(jù);設(shè)置一數(shù)據(jù)發(fā)送驅(qū)動模塊,用于每隔一定的時間檢查所述緩存器是否存有數(shù)據(jù),如果存有數(shù)據(jù),則依先進先出順序推送不超過設(shè)定量的數(shù)據(jù)到TCP層;
二、接收應(yīng)用層的發(fā)送調(diào)用,如果接收到應(yīng)用層的發(fā)送調(diào)用則進行步驟三;
三、判斷應(yīng)用層的待發(fā)送數(shù)據(jù)的大小是否超過所述緩存器的總存儲空間(如100KB),如果超過則進行步驟二,否則進行步驟四;
四、判斷所述緩存器中是否緩存有數(shù)據(jù),如果有則進行步驟五,否則進行步驟九;
五、從所述緩存器中依先進先出順序推送不超過設(shè)定量的數(shù)據(jù)到TCP層;
六、判斷所述緩存器中是否還緩存有數(shù)據(jù),如果有則進行步驟七,否則進行步驟九;
七、判斷應(yīng)用層的待發(fā)送數(shù)據(jù)的大小是否超過所述緩存器的剩余存儲空間,如果超過則進行步驟二,否則進行步驟八;
八、保存待發(fā)送數(shù)據(jù)到所述緩存器,然后進行步驟二;
九、推送不超過設(shè)定量的待發(fā)送數(shù)據(jù)到TCP層,如果待發(fā)送數(shù)據(jù)全部推送完畢,則進行步驟二,否則將剩余的待發(fā)送數(shù)據(jù)保存到所述緩存器,然后進行步驟二。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于常熟市盛銘信息技術(shù)有限公司,未經(jīng)常熟市盛銘信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410812331.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于IOCP的雙向CAS網(wǎng)關(guān)與用戶終端的通信方法
- 基于IOCP的海量終端設(shè)備接入系統(tǒng)
- 一種文檔加密管理系統(tǒng)
- 一種基于IOCP機制實現(xiàn)網(wǎng)絡(luò)服務(wù)代理的方法
- 一種平衡PSU與BBU充電過流保護的方法及系統(tǒng)
- 一種IOCP機制及基于eFPGA和IOCP的物聯(lián)網(wǎng)通信加速系統(tǒng)
- 核電廠DCS平臺工程師站軟件維護網(wǎng)絡(luò)通訊方法
- 一種數(shù)據(jù)緩存方法、裝置、終端設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)通信方法、裝置、終端設(shè)備和存儲介質(zhì)
- 流媒體數(shù)據(jù)的傳輸方法、裝置、終端設(shè)備和存儲介質(zhì)
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





