[發明專利]一種基于PC客戶端的socket通信方法在審
| 申請號: | 201710259758.0 | 申請日: | 2017-04-19 |
| 公開(公告)號: | CN106936927A | 公開(公告)日: | 2017-07-07 |
| 發明(設計)人: | 方敏 | 申請(專利權)人: | 武漢票據交易中心有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06 |
| 代理公司: | 北京輕創知識產權代理有限公司11212 | 代理人: | 陳衛 |
| 地址: | 430074 湖北省武漢市東*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 pc 客戶端 socket 通信 方法 | ||
技術領域
本發明涉及數據通信領域,特別涉及一種基于PC客戶端的socket通信方法。
背景技術
現有技術中,基于PC客戶端的通信方法包括單工通信、半雙工通信和全雙工通信三種。單工通信是指消息只能單方向傳輸的工作方式。半雙工通信可以實現雙向的通信,但不能在兩個方向上同時進行,必須輪流交替地進行。全雙工通信是指在通信的任意時刻,允許數據同時在兩個方向上傳輸。但是,一般的通信方法在速度和效率方面并不理想。
發明內容
本發明提供了一種基于PC客戶端的socket通信方法,解決了現有技術通信方法的速度和效率并不理想的技術問題。
本發明解決上述技術問題的技術方案如下:一種基于PC客戶端的socket通信方法,包括:
S1、啟動新線程,根據預定參數創建socket處理器對象,同時啟動新線程創建socket連接監視器對象;
S2、在所述socket處理器對象中,創建socket連接處理對象,將所述socket連接處理對象的當前連接狀態設置為未連接狀態;
S3、啟動新線程,啟動所述socket連接處理對象,向服務器發送連接請求,與所述服務器建立socket連接;
S4、連接成功后,獲取所述socket連接處理對象的連接ID,同時將所述socket連接處理對象的當前連接狀態設置為連接狀態,通過所述socket連接處理對象與所述服務器進行數據交互,同時將所述socket連接處理對象和所述連接ID添加到所述socket連接監視器對象的socket連接監視列表中。
本發明的有益效果是:相比現有的通信方法,本技術方案通過在客戶端與服務器之間建立socket連接來進行數據交互,提高了數據交互的速度和效率,還可以通過服務器地址列表使客戶端同時與多個服務器進行連接。
在上述技術方案的基礎上,本發明還可以做如下改進。
優選地,步驟S1中,如果所述預定參數包括的服務器地址列表中包括多個服務器地址,則生成多個socket連接處理對象,與多個服務器建立socket連接。
優選地,步驟S3中,與所述服務器建立socket連接的方法包括:
A1、判斷所述預定參數包括的連接設定參數中是否包括重連時間列表,如是,則將所述重連時間列表中最大重連時間設置為當前最大重連時間,否則,將客戶端默認的最大重連時間設置為當前最大重連時間;
A2、在所述當前最大重連時間內,與所述服務器反復建立socket連接,直到連接成功。
優選地,步驟S4中,獲取所述socket連接處理對象的連接ID的方法包括:
B1、向所述服務器發送用于獲取連接ID的消息,接收所述服務器返回的第一次連接時為所述客戶端生成的第一連接ID;
B2、將所述第一連接ID設置為所述socket連接處理對象的連接ID。
優選地,步驟S4中,通過所述socket連接處理對象與所述服務器進行數據交互的方法包括:
C1、實例化讀處理器和寫處理器,分別得到第一讀處理對象和第一寫處理對象;
C2、將所述第一讀處理對象和所述第二寫處理對象分別設置為所述socket連接處理對象的讀處理對象和寫處理對象;
C3、啟動第一線程,通過所述讀處理對象讀取并處理所述服務器發送的消息;
C4、啟動第二線程,通過所述寫處理對象將寫隊列中的待寫入數據發送給所述服務器。
優選地,步驟C3包括:
C31、從線程池啟動第一線程,通過所述讀處理對象從所述socket連接處理對象的連接通道中讀取字節流格式的第一數據塊;
C32、調用所述預定參數包括的消息格式變換處理類的數據格式轉換方法將所述第一數據塊轉化為消息格式的第一消息;
C33、調用所述socket連接處理對象的消息處理方法處理所述第一消息,結束所述第一線程。
優選地,步驟C4包括:
C41、從線程池啟動第二線程,通過所述寫處理對象從寫隊列中讀取消息格式的第二消息;
C42、調用所述消息格式變換處理類的數據格式轉換方法將所述第二消息轉化為字節流格式的第二數據塊;
C43、調用底層的寫數據流方法將所述第二數據塊寫入所述socket連接處理對象的連接通道中,并發送給所述服務器,結束所述第二線程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢票據交易中心有限公司,未經武漢票據交易中心有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710259758.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:茶葉葉梗分離效果改善的挑梗機
- 下一篇:一種帶負載線路故障保護和預警的斷路器





