【发布时间】:2011-07-18 07:28:17
【问题描述】:
我想制作客户端-服务器程序,其中服务器是主进程,客户端是子进程。在客户端,我想将子进程的 stdout 和 stderr 流重定向到套接字。在服务器中,我想从套接字文件描述符中创建并从中读取。在互联网上有很多关于套接字的信息,但我没有找到任何通过 Windows 套接字的父子 IPC 示例。
如果可能,请在此处发布一个简单的代码来解决我的问题(或部分问题)。 msdn 的链接也有帮助,但我想我已经在那里查找了所有内容,但没有找到我想要的。
附:请不要推荐管道。我想通过套接字来做到这一点。
【问题讨论】:
-
这将是非常具体的实现。我假设 Windows 是唯一的平台和操作系统要求。您愿意使用哪些编译器、IDE 和库?
-
我正在使用视觉工作室。我想使用标准库和winapi,作为套接字我更喜欢socket2。但也可以使用 cygwin 库。
-
您在哪些部分遇到问题 - 绑定 + 侦听套接字、连接套接字或重定向 IO?
-
很讨厌告诉你这个坏消息,但是winsock没有办法将标准输出重定向到一个套接字,你必须使用管道和其他一些进程将数据从管道复制到套接字等。
-
@Mihran。好吧,我不明白。您可以编写一个客户端应用程序,但它会产生另一个不是您编写的应用程序?它是您想要捕获其标准输出/错误的客户端下的第二个应用程序?
标签: c++ c winapi client-server