使用命名管道向子进程发送参数

Posted

技术标签:

【中文标题】使用命名管道向子进程发送参数【英文标题】:Sending arguments to a child process using named pipe 【发布时间】:2013-02-12 18:10:05 【问题描述】:

我有一个父程序(服务器)和一个子程序(客户端),两者可以使用命名管道进行全双工通信:here

我的实际客户端和服务器有点复杂。我的客户需要一些输入参数(对象)才能完成它的工作,所以我想使用我创建的管道发送这些。有些人提到了WCF。这是第一次听说WCF。如何通过命名管道发送我的对象?

谢谢

【问题讨论】:

【参考方案1】:

实际上使用 WCF 是在两个进程之间发送对象的最佳方式。即使您仍然可以使用管道和命名管道。 我向您推荐this 书籍以获取更多知识。

无论如何,如果您想在两个进程之间使用管道来发送和接收对象,您必须对它们进行序列化。 也就是说,将要发送的对象转换为字节数组、xml 或soap 格式。 网络上有大量示例展示了如何通过套接字和管道发送数据。两者非常相似。

我建议您创建一个带有将被发送和接收的类的独立程序集。两个进程都必须引用该程序集。

希望对你有帮助。

【讨论】:

谢谢 oarrivi,我也找到了this,我今天要试一试。

以上是关于使用命名管道向子进程发送参数的主要内容,如果未能解决你的问题,请参考以下文章

使用命名管道时发送数据的正确方法是啥?

C#的命名管道(named pipe)

Linux--进程通信

Linux--进程通信

如何使用 Unix(或 Windows)中的(最好是未命名的)管道将一个进程的标准输出发送到多个进程?

Linux_Centos进程间通信_管道(匿名管道_命名管道)