如何连接两个应用程序

时间:2010-05-18 18:08:13

标签: c++ windows process ipc

我正在考虑用C ++构建一个应用程序,它将从Web解析文本并创建一些统计结果。这些结果我希望能够在外部应用程序中实时提供。外部应用程序(我的代码无法访问,但可以要求付费 - 自定义添加)将需要一些代码来阅读和使用这些结果。

我想知道在速度和易于实施方面互连两个应用程序的最佳方式是什么。我在考虑:

 disk I/O (slow) 

 a Windows service  

 a DLL  

 a web service  

 a web page

也许我错过了一个更好的解决方案?谢谢。

Update : there is an additional need to know how long a data request may take at worst.

3 个答案:

答案 0 :(得分:5)

  • 插座?
  • 共享内存?
  • RAM磁盘?
  • TCP / IP?
  • Windows消息?
  • 命令行参数(另一个应用程序)?

其他应用程序有哪些方法支持接收数据?

答案 1 :(得分:3)

Windows服务是明智的,但仍然需要与其他应用程序通信,这称为IPC,窗口上的方法被描述here,命名管道简单&灵活,文件映射功能强大。

另一种方法是将数据库放在中间?

答案 2 :(得分:2)

有许多IPC机制可供选择(套接字,共享内存,管道......)。我想“最佳选择”将在很大程度上取决于其他应用程序的结构。你的自定义扩展程序会花多少钱。

我对你的环境知之甚少,但看看boost.interprocess可能是值得的: http://www.boost.org/doc/libs/1_43_0/doc/html/interprocess.html