新四季網

進程間通信方法及系統與流程

2023-05-08 20:26:36


本發明涉及信息傳輸技術領域,特別是涉及一種進程間通信方法及系統。



背景技術:

進程間通信(ipc,inter-processcommunication)指至少兩個進程或線程間傳送數據或信號的一些技術或方法。進程是計算機系統分配資源的最小單位。每個進程都有自己的一部分獨立的系統資源,彼此是隔離的。為了能使不同的進程互相訪問資源並進行協調工作,才有了進程間通信。

進程可以運行在同一計算機上或網絡連接的不同計算機上。每個進程被賦予它自己的虛擬地址空間,當進程中的一個線程正在運行時,該線程可以訪問只屬於它的進程的內存。而進程的用戶空間是互相獨立的,屬於其它進程的內存則是隱藏的,並不能訪問到其他的進程的信息。

現有的一種進程間通信方法,通過消息窗口的方式進行進程間通信,僅適用於採用windows作業系統的平臺間進行進程間通信,無法在不同作業系統環境下的進程間進行通信。



技術實現要素:

本發明實施例解決的技術問題是如何實現不同作業系統環境下的進程間的通信。

為解決上述問題,本發明實施例提供了一種進程間通信方法,包括:

服務端與客戶端建立連接;

當所述服務端與所述客戶端建立連接成功時,所述客戶端將待處理數據發送至所述客戶端;

所述服務端接收所述客戶端發送的待處理數據,對所述待處理數據進行處理,並將對應的數據處理結果發送至所述客戶端;

所述客戶端接收所述數據處理結果;

所述服務端與所述客戶端之間斷開連接。

可選地,所述服務端與所述客戶端建立連接,包括:

所述服務端對預設的監聽埠進行監聽,並當監聽到所述客戶端發送的連接請求時,所述服務端與所述客戶端建立連接。

可選地,所述對所述待處理數據進行處理,包括:採用預先註冊的回調函數對所述待處理數據進行處理。

可選地,所述服務端將所述數據處理結果發送至所述客戶端,包括:

所述服務端在確定所述回調函數的返回值為預設的第一數值時,將所述數據處理結果發送至所述客戶端。

本發明實施例還提供了一種進程間通信系統,包括服務端和客戶端;

所述服務端,適於與所述客戶端建立連接,並接收所述客戶端發送的待處理數據;對所述待處理數據進行處理,得到對應的數據結果並發送至所述客戶端;斷開與所述客戶端之間的連接;

所述客戶端,適於與所述服務端建立連接,並將待處理數據發送至所述服務端;接收所述服務端發送的數據處理結果;斷開與所述服務端之間的連接。

可選地,所述服務端,適於對預設的監聽埠進行監聽,並當監聽到所述客戶端發送的連接請求時,與所述客戶端建立連接。

可選地,所述服務端,適於採用預先註冊的回調函數對所述待處理數據進行處理。

可選地,所述服務端,適於在確定所述回調函數的返回值為預設的第一數值時,將所述數據處理結果發送至所述客戶端。

與現有技術相比,本發明的技術方案具有以下的優點:

上述的方案,通過服務端對客戶端發送的待處理數據進行處理,並將處理結果發送至所述客戶端,可以實現不同作業系統環境下的進程間的通信,滿足不同作業系統環境下的進程之間的通信需求。

進一步地,服務端採用預先註冊的回調函數對客戶端發送的數據進行處理,並將處理結果發送給客戶端,可以滿足客戶端對於數據的多樣化處理需求。

進一步地,當所述回調函數的返回值為預設的第一數值時,服務端將回調函數得到的數據處理結果發送至客戶端,否則,則無需將所得到的數據處理結果發送至客戶端,可以滿足進程間通信的多樣化需求。

附圖說明

圖1是本發明實施例中的一種進程間通信的方法的流程圖;

圖2是本發明實施例中的一種進程間通信系統的結構示意圖;

圖3是本發明實施例中的一種進程間通信的方法的流程圖。

具體實施方式

正如背景技術所言,現有技術中採用窗口消息進行進程間通信的方法僅適用於相同作業系統環境下進程間的通信,無法實現不同作業系統環境下進程間的通信。

為解決現有技術中存在的上述問題,本發明實施例採用的技術方案通過服務端對客戶端發送的待處理數據進行處理,並將處理結果發送至所述客戶端,可以實現不同作業系統環境下的進程間的通信。

為使本發明的上述目的、特徵和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施例做詳細的說明。

圖1示出了本發明實施例中的一種進程間通信的方法的流程圖。如圖1所示的進程間通信的方法,適於不同作業系統環境下的進程之間進行數據傳輸,具體可以包括如下的操作:

步驟s101:所述服務端與所述客戶端建立連接。

在具體實施中,所述服務端與所述客戶端具有不同的作業系統環境。

步驟s102:所述客戶端將待處理數據發送至客戶端。

在具體實施中,所述待處理數據為待服務端進程處理的數據。

步驟s103:所述服務端接收所述客戶端發送的待處理數據,並對所述待處理數據進行處理,並將對應的數據處理結果發送至所述客戶端。

步驟s104:所述客戶端接收所述數據處理結果。

步驟s105:所述服務端與所述客戶端之間斷開連接。

上述的方案,通過服務端對客戶端發送的待處理數據進行處理,並將處理結果發送至所述客戶端,可以實現不同作業系統環境下的進程間的通信,滿足不同作業系統環境下的進程之間的通信需求。

下面將對本發明實施例中的進程間通信方法進行進一步詳細的描述。

為了便於理解,下面首先對本發明實施例中的進程間通信系統進行介紹。

圖2示出了本發明實施例中的一種進程間通信系統的結構。參見圖2,本發明實施例中的一種進程間通信系統,可以包括相互耦接的服務端201和客戶端202。

下面將結合圖3對圖2所示的進程間通信系統的工作原理進行進一步詳細的介紹。

參見圖3,本發明實施例中的一種進程間通信的方法,適於不同作業系統環境下的服務端與客戶端之間進行信息交互,具體可以採用如下的步驟實現:

步驟s301:所述服務端指定監聽埠,並註冊回調函數。

在具體實施中,所述服務端具有預先設定的服務名。其中,服務端的服務名的設置方式為預先設定。

在具體實施中,回調函數可以對客戶端發送的數據進行相應的處理,並返回對應的處理結果。其中,回調函數可以採用不同的方式實現。在本發明一實施例中,回調函數可以採用函數指針的方式實現。在本發明另一實施例中,回調函數採用c++的虛函數方式實現。當然,本領域的一般技術人員也可以採用其他的方式實現回調函數,在此不做限制。

步驟s302:所述服務端對所述監聽埠進行監聽。

在具體實施中,當完成回調函數的註冊時,服務端啟動對應的監聽服務,以對預設的監聽埠進行監聽,以便及時地接收客戶端發送的數據。

在具體實施中,當採用預設的監聽埠監聽失敗時,表明所述服務端已存在其他的監聽對象。此時,服務端的進程將退出。

步驟s303:所述客戶端向所述服務端發送連接請求。

在具體實施中,客戶端可以在有數據需要進行處理時,向服務端發送對應的連接請求,以與服務端建立連接,並將待處理數據發送至服務端進行處理。具體而言,客戶端可以根據服務端的服務名的信息,找到對應的服務端,並向所述服務端發送連接請求。

步驟s304:所述服務端與所述客戶端建立連接。

在具體實施中,服務端在接收到客戶單發送的連接請求時,可以與客戶端建立連接,以通過所建立的連接,與客戶端之間傳輸數據。

步驟s305:所述客戶端將待處理數據發送至所述服務端。

在具體實施中,客戶端在與服務端建立連接成功時,可以待處理數據發送至服務端。其中,客戶端所發送的待處理數據可以封裝在為具有預先定義的報文格式的報文中。

步驟s306:所述服務端調用所述回調函數對所述待處理數據進行處理,得到對應的數據處理結果。

在具體實施中,服務端在接收到客戶端發送的待處理數據時,可以根據預先預定的報文格式,從服務端發送的報文中讀取對應的待處理數據,並調用預先已註冊的回調函數對所讀取的待處理數據進行處理,得到對應的數據處理結果。其中,回調函數對於所述待處理數據的處理方式可以根據實際的需要進行設置,不做限制。

步驟s307:所述服務端將數據處理結果發送至所述客戶端。

在具體實施中,為了滿足多樣化的數據處理需求,服務端可以根據回調函數的返回值,確定是否向客戶端返回對應的數據處理結果。

例如,當回調函數的返回值為第一數值時,則服務端將對應的數據處理結果發送至客戶端,反之,則無需將對應的數據處理結果發送至客戶端。

步驟s308:所述客戶端接收所述數據處理結果。

在具體實施中,當客戶端接收到服務端發送的數據處理結果時,同樣可以根據預先定義的報文格式從所接收的報文中讀取對應的數據處理結果。

步驟s309:所述服務端與所述客戶端之間斷開連接。

在具體實施中,當服務端將對應的數據結果發送給客戶端時,客戶端與服務端之間的連接斷開。同時,服務端將繼續對監聽埠進行監聽,也即從步驟s302重新開始執行,以獲取其他的待處理數據並進行處理。

在具體實施中,上述的進程間通信方法可以採用qt編程框架下實現的一種進程間通訊方式qlocalsocket或者qlocalserver,來實現不同作業系統環境下的進程間的通信,以實現高效、可靠的跨作業系統間的進程之間的通信。當然,本領域的技術人員也可以採用其他的方式,實現不同作業系統環境下的進程間的通信,在此不做限制。

採用本發明實施例中的上述方案,通過服務端對客戶端發送的待處理數據進行處理,並將處理結果發送至所述客戶端,可以實現不同作業系統環境下的進程間的通信,滿足不同作業系統環境下的進程之間的通信需求。

進一步地,服務端採用預先註冊的回調函數對客戶端發送的數據進行處理,並將處理結果發送給客戶端,可以滿足客戶端對於數據的多樣化處理需求。

進一步地,當所述回調函數的返回值為預設的第一數值時,服務端將回調函數得到的數據處理結果發送至客戶端,否則,則無需將所得到的數據處理結果發送至客戶端,可以滿足進程間通信的多樣化需求。

本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於計算機可讀存儲介質中,存儲介質可以包括:rom、ram、磁碟或光碟等。

以上對本發明實施例的方法及系統做了詳細的介紹,本發明並不限於此。任何本領域技術人員,在不脫離本發明的精神和範圍內,均可作各種更動與修改,因此本發明的保護範圍應當以權利要求所限定的範圍為準。

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀