【问题标题】:C++ program that starts another program (client-server)启动另一个程序(客户端-服务器)的 C++ 程序
【发布时间】:2018-05-26 14:07:48
【问题描述】:

我需要编写两个通过套接字双向通信的 C++ 程序,一个程序启动另一个程序。这个项目需要是跨平台的。我做了一些研究并得出结论,最好将 boost::asio 用于套接字部分,但我不确定应该如何启动其他进程。有很多方法可以做到这一点(例如:https://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1044654269&id=1043284392),但我不确定哪一种适合我的需要。我认为spawn 函数在这里应该没问题,但我无法让它工作(编译器找不到 process.h 文件)。

您对这个特定问题有什么建议吗? spawn 确实是这里的正确解决方案还是我应该尝试其他方法?

【问题讨论】:

  • 你看过Boost.Interprocess了吗?
  • 说实话没听说过。谢谢,我现在去查一下
  • 嗯,其实我是想写 Boost.Process 的,这应该对你有很大帮助。 Interprocess 可以用套接字替换/实施您的计划,但我认为 Process 实际上回答了您的问题。

标签: c++ sockets cross-platform boost-asio


【解决方案1】:

您可能需要确认 process.h 是否存在于您的任何包含路径中。如果不存在,请为您的编译器提供包含 process.h 的包含目录。 这可能意味着您必须在系统中搜索 process.h;从 gcc/g++/mingw 包含目录开始。

【讨论】:

    最近更新 更多