进程间通信方法总结

 

进程介绍:

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

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)

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

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

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

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

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

11COM/DCOM

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

posted on 2007-07-17 09:39  路吾  阅读(2186)  评论(0编辑  收藏  举报

导航