我可以通过网络服务唤醒我的远程计算机吗?

时间:2009-11-29 10:45:14

标签: c#

我有一个在远程计算机上运行的应用程序。与应用程序的唯一联系是通过webservice,我可以发送一个命令关闭 - 但我如何重新启动它?我想有一个调度类型的服务,我的机器上有一个Windows服务,并在上午08:00它通过webservice(??)发送启动命令,并在下午04:00它发送一个关闭命令通过网络服务。关闭我可以做,但在lan上唤醒 - 因为它不是一个局域网,它可能是互联网 - 任何建议?

欢呼声,

3 个答案:

答案 0 :(得分:1)

使用要唤醒的实际计算机的Web服务调用,您将无法唤醒远程计算机。你必须发送一个“魔法”包。

幸运的是,有很多工具和工具可以让你轻松地完成这项工作。

查看wolcmd.exe - 这应该适合你。

同样地,如果你愿意的话,没有什么可以阻止你发送自己的发送魔术包的客户端。

如果你想从一个Web服务(显然不在目标机器上)运行它,你只需使用wolcmd.exe包裹System.Diagnostics.Process.Start()

答案 1 :(得分:0)

如果Web服务位于与需要启动的盒子相同的本地LAN上的单独盒子上,则应该可以让Web服务使用Wake-on-LAN技术来启动它。

答案 2 :(得分:0)

以下是我在herehere上搜索的两个链接。我的看法是,您需要通过VPN连接到远程局域网,通过防火墙与运行Web服务的同一子网和类似的IP地址!这应该足够安全,如果你这样做,你的机器可以远程关闭。我的感觉就是这样 - 你需要一直直接连接到远程终端......但是在我的头脑中,这听起来很不可能,因为如果你的机器去了,远程端点将如何知道你的IP地址睡觉...你需要小心某些拒绝入睡的司机,从而阻止你的机器进入睡眠状态。我碰巧有一个3G移动宽带,我的上网本拒绝睡觉,除非我关闭连接拔掉它(即使它仍然插入,它拒绝睡觉!),我说的原因,如果你使用VPN,它进入睡眠状态,那么这种连接就会丢失 - 这是我对它的看法。你觉得怎么样?

希望这有帮助, 最好的祝福, 汤姆。