CN107239353A - 进程间通信方法及系统 - Google Patents
进程间通信方法及系统 Download PDFInfo
- Publication number
- CN107239353A CN107239353A CN201710409793.6A CN201710409793A CN107239353A CN 107239353 A CN107239353 A CN 107239353A CN 201710409793 A CN201710409793 A CN 201710409793A CN 107239353 A CN107239353 A CN 107239353A
- Authority
- CN
- China
- Prior art keywords
- client
- service end
- sent
- data
- pending data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种进程间通信方法及系统,所述方法包括:服务端与客户端建立连接;当所述服务端与所述客户端建立连接成功时,所述客户端将待处理数据发送至所述客户端;所述服务端接收所述客户端发送的待处理数据,对所述待处理数据进行处理,并将对应的数据处理结果发送至所述客户端;所述客户端接收所述数据处理结果;所述服务端与所述客户端之间断开连接。上述的方案,可以实现不同操作系统环境下的进程间的通信。
Description
技术领域
本发明涉及信息传输技术领域,特别是涉及一种进程间通信方法及系统。
背景技术
进程间通信 (IPC,Inter-Process Communication) 指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。
进程可以运行在同一计算机上或网络连接的不同计算机上。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。而进程的用户空间是互相独立的,属于其它进程的内存则是隐藏的,并不能访问到其他的进程的信息。
现有的一种进程间通信方法,通过消息窗口的方式进行进程间通信,仅适用于采用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、磁盘或光盘等。
以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (8)
1.一种进程间通信方法,其特征在于,包括:
服务端与客户端建立连接;
当所述服务端与所述客户端建立连接成功时,所述客户端将待处理数据发送至所述客户端;
所述服务端接收所述客户端发送的待处理数据,对所述待处理数据进行处理,并将对应的数据处理结果发送至所述客户端;
所述客户端接收所述数据处理结果;
所述服务端与所述客户端之间断开连接。
2.根据权利要求1所述的进程间通信方法,其特征在于,所述服务端与所述客户端建立连接,包括:
所述服务端对预设的监听端口进行监听,并当监听到所述客户端发送的连接请求时,所述服务端与所述客户端建立连接。
3.根据权利要求1所述的进程间的通信方法,其特征在于,所述对所述待处理数据进行处理,包括:采用预先注册的回调函数对所述待处理数据进行处理。
4.根据权利要求3所述的进程间通信方法,其特征在于,所述服务端将所述数据处理结果发送至所述客户端,包括:
所述服务端在确定所述回调函数的返回值为预设的第一数值时,将所述数据处理结果发送至所述客户端。
5.一种进程间通信系统,其特征在于,包括服务端和客户端;
所述服务端,适于与所述客户端建立连接,并接收所述客户端发送的待处理数据;对所述待处理数据进行处理,得到对应的数据结果并发送至所述客户端;断开与所述客户端之间的连接;
所述客户端,适于与所述服务端建立连接,并将待处理数据发送至所述服务端;接收所述服务端发送的数据处理结果;断开与所述服务端之间的连接。
6.根据权利要求5所述的进程间通信系统,其特征在于,所述服务端,适于对预设的监听端口进行监听,并当监听到所述客户端发送的连接请求时,与所述客户端建立连接。
7.根据权利要求5所述的进程间通信系统,其特征在于,所述服务端,适于采用预先注册的回调函数对所述待处理数据进行处理。
8.根据权利要求7所述的进程间通信系统,其特征在于,所述服务端,适于在确定所述回调函数的返回值为预设的第一数值时,将所述数据处理结果发送至所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710409793.6A CN107239353A (zh) | 2017-06-02 | 2017-06-02 | 进程间通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710409793.6A CN107239353A (zh) | 2017-06-02 | 2017-06-02 | 进程间通信方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107239353A true CN107239353A (zh) | 2017-10-10 |
Family
ID=59985707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710409793.6A Pending CN107239353A (zh) | 2017-06-02 | 2017-06-02 | 进程间通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107239353A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247844A (zh) * | 2019-05-23 | 2019-09-17 | 广州河东科技有限公司 | 一种智能家居网关实现多进程多协议的方法 |
CN110505309A (zh) * | 2019-08-30 | 2019-11-26 | 苏州博众机器人有限公司 | 网络通信方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
CN102103526A (zh) * | 2011-02-14 | 2011-06-22 | 博视联(苏州)信息科技有限公司 | 服务端和客户端间通过服务管理进行进程间通信的方法及系统 |
CN104268025A (zh) * | 2014-09-30 | 2015-01-07 | 珠海市君天电子科技有限公司 | 一种进程间通信的方法及系统、服务器 |
CN105279036A (zh) * | 2015-12-04 | 2016-01-27 | 上海斐讯数据通信技术有限公司 | 进程间通信方法、装置及电子设备 |
CN105468465A (zh) * | 2015-12-28 | 2016-04-06 | 深圳市科漫达智能管理科技有限公司 | 一种基于ace的进程间通信系统和方法 |
CN106648928A (zh) * | 2016-11-29 | 2017-05-10 | 成都广达新网科技股份有限公司 | 一种进程间通讯的方法及装置 |
-
2017
- 2017-06-02 CN CN201710409793.6A patent/CN107239353A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
CN102103526A (zh) * | 2011-02-14 | 2011-06-22 | 博视联(苏州)信息科技有限公司 | 服务端和客户端间通过服务管理进行进程间通信的方法及系统 |
CN104268025A (zh) * | 2014-09-30 | 2015-01-07 | 珠海市君天电子科技有限公司 | 一种进程间通信的方法及系统、服务器 |
CN105279036A (zh) * | 2015-12-04 | 2016-01-27 | 上海斐讯数据通信技术有限公司 | 进程间通信方法、装置及电子设备 |
CN105468465A (zh) * | 2015-12-28 | 2016-04-06 | 深圳市科漫达智能管理科技有限公司 | 一种基于ace的进程间通信系统和方法 |
CN106648928A (zh) * | 2016-11-29 | 2017-05-10 | 成都广达新网科技股份有限公司 | 一种进程间通讯的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247844A (zh) * | 2019-05-23 | 2019-09-17 | 广州河东科技有限公司 | 一种智能家居网关实现多进程多协议的方法 |
CN110505309A (zh) * | 2019-08-30 | 2019-11-26 | 苏州博众机器人有限公司 | 网络通信方法、装置、设备及存储介质 |
CN110505309B (zh) * | 2019-08-30 | 2022-02-25 | 苏州博众机器人有限公司 | 网络通信方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102202289B (zh) | 一种通过移动终端远程调用软硬件资源的方法和系统 | |
US8762544B2 (en) | Selectively communicating data of a peripheral device to plural sending computers | |
US20080267067A1 (en) | Controlling the flow of data updates between a receiving station and a sending station | |
US10389832B2 (en) | Remote casting of media content | |
WO2014082562A1 (en) | Method, device, and system for information processing based on distributed buses | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN106101171B (zh) | 服务器连接方法及装置 | |
CN104796406A (zh) | 一种应用识别方法及装置 | |
CN107193673A (zh) | 一种报文处理方法及设备 | |
CN104462033A (zh) | 在设备间实现编辑操作的方法及设备 | |
CN112398689A (zh) | 网络恢复方法、装置、存储介质及电子设备 | |
CN107239353A (zh) | 进程间通信方法及系统 | |
US20040150625A1 (en) | Virtual keyboard and mouse control device | |
CN112395242B (zh) | 多芯片控制方法、装置、电子设备和计算机可读存储介质 | |
CN104079398B (zh) | 一种数据通信方法、装置及系统 | |
US11265807B2 (en) | Method for network sharing on a terminal, apparatus, air conditioner and storage medium | |
CN106657076B (zh) | 一种网络命名空间的tcp服务实现方法及装置 | |
CN113163008A (zh) | 网络服务系统的连接智能管理方法、装置及其相关设备 | |
CN115174562B (zh) | 一种远程协助的通信方法及系统 | |
CN106791992A (zh) | 信号源推送方法和系统 | |
KR101601680B1 (ko) | 클라우드 컴퓨팅 방법, 이를 수행하는 클라우드 컴퓨팅 서버 및 이를 저장하는 기록매체 | |
CN113452948B (zh) | 会议终端的控制方法、装置、设备及存储介质 | |
CN115202779A (zh) | 一种远程控制方法及相关设备 | |
CN115242972A (zh) | 一种应用调用摄像头的方法和装置、电子设备及存储介质 | |
CN113891441A (zh) | 网络连接方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171010 |