进程间通信的方法

8 篇文章 0 订阅
3 篇文章 0 订阅

http://www.cnblogs.com/wangliang651/archive/2007/07/17/820699.html

 

进程介绍:

进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:

(1)操作系统用来管理进程的内核对象。

内核对象也是系统用来存放关于进程的统计信息的地方。

(2)地址空间.

它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则是隐藏的,并不能被正在运行的线程访问。

两个进程之间进行通信方法:

1、 剪贴板Clipboard: 在16位时代常使用的方式,CWnd中提供支持

2、 窗口消息标准的Windows消息以及专用的WM_COPYDATA消息 SENDMESSAGE()接收端必须有一个窗口

3、 使用共享内存方式(Shared Memory)

(1).设定一块共享内存区域

(2)找出共享内存

(3)同步处理(Mutex)

(4)清理(Cleaning up)

4、 动态数据交换(DDE)

通过维护全局分配内存使的应用程序间传递成为可能。

5、 消息管道(Message Pipe)

(1)匿名管道(Anonymous Pipes)

单向流动,并且只能够在同一电脑上的各个进程之间流动。

(2)命名管道(Named Pipes)

双向,跨网络,任何进程都可以轻易的抓住,放进管道的数据有固定的格 式,而使用ReadFile()只能读取该大小的倍数

6、 邮件槽(Mailslots)

广播式通信,在32系统中提供的新方法,可以在不同主机间交换数据,在 WIN9X下只支持邮件槽客户

7、 Windows套接字(Windows Socket)

它具备消息管道所有的功能,但遵守一套通信标准使的不同操作系统之上的应 用程序之间可以互相通信。

8.Internet通信 它让应用程序从Internet地址上载或下载文件

9.RPC:远程过程调用,很少使用,因其与UNIX的RPC不兼容。

10、串行/并行通信(Serial/Parallel Communication)

它允许应用程序通过串行或并行端口与其他的应用程序通信

11、COM/DCOM

通过COM系统的代理存根方式进行进程间数据交换,但只能够表现在对接口 函数的调用时传送数据,通过DCOM可以在不同主机间传送数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值