0

可能重复:
Delphi 2009:如何在 Vista 下的 Windows 服务和桌面应用程序之间进行通信?

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

最好的方法是什么?

4

3 回答 3

2

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

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

于 2009-12-15T09:08:03.970 回答
2

这里最好的方法是基于命名管道的 IPC。TCP/IP 也是一个很好的解决方案,但它比命名管道慢。命名管道也可以在 LAN 中的计算机上工作。

你可以使用我的实现,它是面向数据包的,对你隐藏了所有的技术细节。下载地址:http ://www.cromis.net/blog/downloads/cromis-ipc

于 2009-12-15T11:47:55.737 回答
1

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

Web 服务是一个不错的选择。

于 2009-12-15T09:06:24.920 回答