我有一个GUI应用程序。 GUI仅用于设置管理。现在我需要将其转换为Windows服务。我想把我的应用分成2:服务本身和用于提供设置的GUI工具。主要问题是我不确定,这些工具应该如何“沟通”。设置主要存储在文件中,应用新设置后,服务应重新启动
至于现在,我想到管理工具通过TCP / IP发送少量服务请求,这也允许从网络控制服务。问题是我需要硬编码或使用一些文本文件来设置默认端口,服务在安装后会监听管理工具连接。
可能有任何替代解决方案,这更适合吗?
答案 0 :(得分:2)
您正在创建服务。如果通信层中只需要停止和启动服务,则无需打开端口即可开始监听。系统为您提供了使用可以运行的命令执行此操作的方法。你在谈论windows,所以你可以运行命令“sc start MyServiceName”来启动服务“MyServiceName”。还有一个名为“net”的命令,它允许您启动和停止服务。然后可以通过各种可用于执行外部代码的方式从java代码调用这些OS命令。
这是一个链接,显示如何使用sc命令执行此操作,检查接受的答案:start-windows-service-from-java
这是另一个显示两个命令“sc”和“net”之间差异的链接:net-start-service-and-sc-start-what-is-the-difference
请注意,“sc”支持在远程计算机上启动服务:simplest-way-to-restart-service-on-a-remote-computer