我以前从未在Windows上做过IPC.目前我正在开发一对程序,一个标准的GUI/CLI应用程序和一个Windows服务.该应用程序必须告诉服务该做什么.因此,假设通信只是本地通信,那么这两个进程的最佳通信方法是什么?
最好的地方被定义为更健壮,更不容易出错,不是最高性能也不是最容易编码.
代码示例将非常受欢迎,但不是必需的:-)
注意我只是询问使用什么,标准TCP套接字,命名管道或其他一些通信方式.
谢谢!
Edw*_*lde 72
使用以下方法可以实现.Net中的IPC:
使用命名管道需要.Net 3.0及更高版本.
最初的IPC框架随.Net 1.0发布.我相信远程处理不再被积极开发,我们鼓励您使用WCF
通过远程处理进行进程间通信 - 使用tcp通道
我最近遇到了一个包含Win32 RPC库并创建了一个可用于本地和远程RPC的.net类库的项目.
项目主页:http://csharptest.net/projects/rpclibrary/
MSDN参考:
还有一个google协议缓冲区rpc客户端在库的顶部运行:https://code.google.com/p/protobuf-csharp-rpc/
为了完整性,还可以将WIN32方法与WM_COPYDATA消息一起使用.我之前在.Net 1.1中使用过这种方法来创建一个从Windows资源管理器中打开多个文件的实例应用程序.
使用自定义协议(更难)
| 归档时间: |
|
| 查看次数: |
51413 次 |
| 最近记录: |