0

我正在开发 2 个 Windows 服务,其中一个会将图片和文字文件发送给另一个,而其他服务将给出一个字符串答案。该服务在同一台计算机上。

我也会开发相同程序的 Linux 版本。

哪种方式最适合 Linux 和 Windows 中的服务之间的通信。

顺便说一句,我正在使用 C++ 开发该服务。

4

3 回答 3

0

我建议阅读 C++ 套接字。您可能会想要使用 TCP 套接字,因为您想要确保传输的数据正确无误。

尝试检查这些链接:

Linux 套接字

Windows 套接字

于 2013-01-23T14:47:19.107 回答
0

您应该搜索IPC
进程间通信有很多可能性。因为您对您的问题和要求不是很具体,但我建议您看一下boost::interprocess

只要您确定这两个服务都在同一台机器上运行,就可以做到。
如果你想切换到分布式方法,你需要一些不同的东西。
XML-RPCthriftcorba。只是提到一些可能性。

于 2013-01-23T14:56:47.367 回答
0

您的任务有不同的选项:

  1. 网络。在您的服务之间建立 TCP 连接,服务作为客户端请求,服务作为服务器应答。可以使用 Boost.Asio 或任何其他可移植网络库来实现跨平台解决方案。
  2. 共享内存。您可以使用共享内存实现进程间通信。跨平台库:Boost.Interprocess。
  3. 管道。我不知道这个跨平台库。

我建议使用 TCP 通信作为更灵活的解决方案。

于 2013-01-23T14:59:10.233 回答