IPC简介
今天在研究.net认证时发现在使用DPAPI进行web.config节点加解密时使用了rpc进行与底层交互,所以顺道就像看看RPC.
DAPI示例图(http://i.msdn.microsoft.com/dynimg/IC18166.gif)
GOOGLE一下发现这篇文档http://technet.microsoft.com/en-us/library/cc738291(WS.10).aspx
原来RPC是IPC的一种机制如此就需要简单的了解了解IPC时一个概念?
IPC全名为:Interprocess Communications,简单的来讲就是进程间交互,主要用户应用程序间的数据交互.
IPC可分为两类:
服务器:产生数据
客户端:从服务器端消费数据
应用也可以同时作为服务器和客户端存在.
windows支持如下IPC交互机制
剪切板:只要认识相应的剪切板格式即可
Com:Ole可以实现进程间文档交互,而COM是OLE的基础DCOM支持通过网络进行交互(参考:COM and ActiveX Object Services)
Data Copy:通过WM_COPYDATA在进程间进行数据交互
DDE:DDE类似剪切板,可以理解为剪切板的扩展(see Dynamic Data Exchange and Dynamic Data Exchange Management Library.
)
File Mapping:在创建File Mapping时指定system swapping file将可以指定该文件为共享内存,其他进程也可以访问该内存快.(see File Mapping and Synchronization. )
MailSlots:邮槽提供单向交互,创建邮槽的进程将作为邮槽服务器,其他进程则被视为邮槽客户端.可以通过创建多个邮槽实现双向交互.(see Mailslots.)
Pipes:管道包括两种类型的双向交互:匿名管道和命名管道
匿名管道用户相关进程间交互
命名管道支持无关联进程间交互
(see Pipes. )
RPC:RPC可以让应用调用远程函数.RPC能够使得IPC非常方便的调用函数.(see Microsoft RPC Components)
Windows Sockets:(seeWindows Sockets 2. )