在服务和应用程序之间传递数据的首选方法是什么

时间:2009-12-15 09:01:45

标签: windows delphi service delphi-2010 shared-memory

  

可能重复:
  Delphi 2009: How to communicate between Windows service & desktop application under Vista?

我有一台作为Windows服务运行的服务器。为了控制服务并显示它的状态,我将一个应用程序作为托盘图标运行。我想将数据(日志字符串)从服务传递给应用程序。

最好的方法是什么?

3 个答案:

答案 0 :(得分:2)

进程间通信有很多选项。 http://en.wikipedia.org/wiki/Inter-process_communication

我倾向于使用带有HTTP和HTML的套接字。这样我可以使用浏览器来控制我的服务。甚至远程。

答案 1 :(得分:2)

这里最好的方法是基于命名管道的IPC。 TCP / IP也是一个非常好的解决方案,但它比命名管道慢。命名管道也适用于局域网中的计算机。

您可以使用我的面向数据包的实现,并隐藏您的所有技术细节。可从以下位置下载:http://www.cromis.net/blog/downloads/cromis-ipc

答案 2 :(得分:1)

使用任何类型的SOAP实现,它应足够灵活,为您提供未来的某些可扩展性,并为您提供从其他位置/应用程序连接的能力。

Webservices是一个不错的选择。