将Ping功能添加到Windows服务

时间:2013-11-12 06:10:36

标签: c# sockets windows-services ping

对于某些计划任务,我开发了Windows服务并在服务器上启动。但是这些任务对我们很重要,我们必须监控服务,以防万一我们必须重新启动或在必要时采取措施。

目前我们正在使用Argus来监控服务器或系统;所以我想在Argus的监视器列表中添加我的服务。在我看来ping是足够的,但我不知道如何添加ping功能我的服务?

我想,我需要使用socket打开一个端口。但是之后?我该如何回答回应请求? "傍"或者"好的"

1 个答案:

答案 0 :(得分:1)

也许我的article 'Observing Applications via Heartbeat' on codeproject会帮助你。

但是根据您的需要,您必须稍微改变一下行为。您的服务应该等待来自Argus的UDP(或TCP,您喜欢的)发送的请求,并将当前状态(“心跳”)发送回Argus。 Argus会将响应与预期的响应进行比较,如果状态错误或没有收到任何响应,则发出警报。

Ping(ICMP echo)仅检查服务器是否可用(可通过IP访问)。