OS服务与c ++之间的通信

时间:2013-01-23 14:44:31

标签: c++ linux windows service communication

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

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

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

顺便说一句,我用C ++开发这些服务。

3 个答案:

答案 0 :(得分:0)

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

尝试检查这些链接:

Linux Sockets

Windows Sockets

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您的任务有不同的选项:

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