[發明專利]一種網絡消息傳遞方法在審
| 申請號: | 201310149803.9 | 申請日: | 2013-04-26 |
| 公開(公告)號: | CN103248679A | 公開(公告)日: | 2013-08-14 |
| 發明(設計)人: | 于麗;吳登勇;鐘笠 | 申請(專利權)人: | 山東超越數控電子有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250100 山東省*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 網絡 消息 傳遞 方法 | ||
?
技術領域
本發明涉及一種信息通信技術領域,具體地說是一種保證了數據傳遞的安全性、可靠性,通過將客戶端連接到服務端,由服務端通過網絡傳遞消息的一種方法。
背景技術
隨著現在軟件之間數據交互變得越來越頻繁,每次數據交互都需要編寫數據接口程序才能實現,沒有一種專門的軟件服務方法可以供多個軟件之間進行數據交互。如果需要數據交互的軟件很多,那么數據交互就會非常繁瑣,不方便操作,此外,普通數據交互的軟件之間進行數據交互傳遞時數據的安全性和可靠性無法得到保護,因而容易造成數據丟失,不易推廣。
發明內容
本發明的技術任務是針對在現有技術的不足,提供一種可保證數據交互安全性的網絡消息傳遞方法。
本發明的技術方案是按以下方式實現的,該一種網絡消息傳遞方法,包括服務器端和若干客戶端,
所述服務器端與每個客戶端均交互連接,該服務器端監聽所有客戶端端口,并判斷是否有客戶端的請求,如果有則接收發送端的數據,將數據中提取出的消息發送給接收端;
所述客戶端用來發送數據和接收數據,接收數據時根據信息內容進行判斷此包數據是否是自己需要的數據,如果是,按照信息類型進行處理,如果不是則自動丟掉。
所述服務器端從數據中提取出消息包括從發送端發送的目的地址和信息標題、信息類型端口號。
所述服務器端在每一個端口監聽客戶端的服務請求是指,服務進程一直處于休眠狀態,直到有一個客戶對這個服務提出了連接請求,此時服務線程被“喚醒”并為客戶端單獨創建一個線程,建立一條專用的虛擬連接通道,通過虛擬通道完成數據的交換。
所述“喚醒”過程是指:服務器端開啟一個監聽端口,負責監聽客戶端的請求,用服務器發送接收循環從接受隊列依次取出每一個客戶進程,連接后生成新的端口,然后創建一個子進程專門處理該客戶,父進程則關閉新的端口,繼續處理下一個客戶進程;而服務器監聽用的端口對子進程無用,所以子進程將其關閉,用產生的新端口與客戶交互信息,直到對方關閉此連接,子進程終止。
上述服務器接收到客戶端的數據首先保存到內存流中,然后按照緩存空間大小來分段發送數據,直到發送完為止,再清空內存流,等待下次發送;同樣,在客戶機接收的時候,要判斷接收到的流的大小,如果流的大小小于或等于緩存空間大小,則發送繼續,服務器繼續發送緩存空間大小,客戶機循環接收,直到傳完為止。
本發明與現有技術相比所產生的有益效果是:
本發明的一種網絡消息傳遞方法將多個客戶端連接到服務器端,然后再通過服務器端網絡進行傳遞消息,保證了數據傳遞的安全性和可靠性,可同時交互若干帶交互軟件的客戶端,數據交互過程簡單,操作方便。
附圖說明
附圖1是本發明的結構示意框圖。
附圖2是本發明的實現流程示意圖。
具體實施方式
下面結合附圖對本發明所提供的一種網絡消息傳遞方法作以下詳細說明。
本發明主要針對多個軟件之間數據交互不方便的情況,提供基于端口通信的一種網絡消息傳輸方法,用來快捷、方便地完成數據之間的交互。本發明包括服務器端和若干客戶端,結構圖如附圖1所示,其中所述服務器端與每個客戶端均交互連接,該服務器端監聽所有客戶端端口,并判斷是否有客戶端的請求,如果有則接收發送方的數據,從數據中提取出消息發送的目的地址和信息標題、信息類型端口號,然后將數據發送到數據接收軟件。
所述客戶端用來發送數據和接收數據,接收數據時根據信息標題或者端口號進行判斷此包數據是否是自己需要的數據,如果是,按照信息類型進行處理,如果不是則自動丟掉。
服務器端應用程序在一個端口監聽對服務的請求,也就是說服務進程一直處于休眠狀態,直到有一個客戶對這個服務提出了連接請求,此時服務線程被“喚醒”并為客戶端單獨創建一個線程,建立一條專用的虛擬連接通道,通過虛擬通道完成數據的交換。
為了保證多個軟件傳輸時客戶機與服務器讀取數據不被堵塞,該發明使用多進程技術,當服務器端一旦接收到客戶端的請求,就專門為改用戶建一個單獨的進程,進行數據的訪問交互操作。
其具體數據傳遞過程如附圖2所示,服務器端開啟一個監聽端口,負責監聽客戶端的請求,用服務器發送接收循環從接受隊列依次取出每一個客戶進程,連接后生成新的端口,然后創建一個子進程專門處理該客戶,父進程則關閉新的端口,繼續處理下一個客戶進程;而服務器監聽用的端口對子進程無用,所以子進程將其關閉,用產生的新端口與客戶交互信息,直到對方關閉此連接,子進程終止。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東超越數控電子有限公司,未經山東超越數控電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310149803.9/2.html,轉載請聲明來源鉆瓜專利網。





