进程间通信

来源:互联网 发布:淘宝商品拍摄收费 编辑:程序博客网 时间:2024/04/29 19:55
为了能在两个进程之间进行通讯,由以下几种方法可供参考:
1)剪贴板ClipBoard:在16位时代常使用的方式,CWnd中提供支持。
2)窗口消息:
 a)标准的Windows消息:
 b)专用的WM_COPYDATA消息:
3)文件映射(File Mapping32位系统中提供的新方法,可用来共享内存.
4)动态数据交换(DDE):其方式是再一块全局内存中手工放置大量的数据,然后使用窗口消息传递内存 指针.这是16WIN时代使用的方式,因为在WIN32下已经没有全局和局部内存 了,现在的内存只有一种就是虚存。
5)管道(Pipe):用于设置应用程序间的一条永久通讯通道,通过该通道可以象自己的应用程序访问一个平面文件一样读写数据。
a)匿名管道(Anonymous Pipes):只能单项流动,并且只能在同一台电脑上的各个进程间流动。
b)命名管道(Named Pipes):双向,跨网络,任何进程都可以轻易的抓住,放进管道的数据有固定的格 式,而使用ReadFile()只能读取该大小的倍数。可以被使用于I/O Completion Ports。Win9X下只支持有名管道客户
6)邮件槽(Mailslots):广播式通信,32系统中提供的新方法,可以在不同主机间交换数据,在 WIN9X下只支持邮件槽客户

7)Windows套接字(Windows Socket):它具备消息管道所有的功能,但遵守一套通信标准使的不同操作系统之上的应 用程序之间可以互相通信。
8)Internet通信:它让应用程序从Internet地址上载或下载文件。
9)远程过程调用(RPC):很少使用,原因有两个:复杂而且与UNIX系统的RCP并不完全兼容。但COM/DCOM的调用是建立在RPC的基础上的。
10)串口/并口通信(Serial/Parallel Communication)
11)COM/DCOM通过COM系统的代理存根方式进行进程间数据交换,但只能够表现在对接口 函数的调用时传送数据,通过DCOM可以在不同主机间传送数据。

 

原创粉丝点击