1

我正在开发 LAN 唤醒项目,但我想控制计算机是否在我的局域网上打开。但我不想使用 ICMP 或 WMI(我的网络上有 DC)。那么对于这个问题是否有任何其他选项,例如 Socket Connection,检查特定端口是否正在使用?

4

2 回答 2

1

ICMP 有什么问题?

无论如何,您尝试访问一个端口并测量连接失败需要多长时间。如果它很快失败(您必须测量系统上的“快速”情况),计算机可能已启动并拒绝连接。如果它在很长一段时间后失败(再次测量以找出“长”是什么),则计算机可能已关闭。

我怀疑你能以这种方式达到 100% 的准确度。

于 2012-01-12T20:24:26.130 回答
1

您可能知道,“Wake on LAN”只是端口 60000 上的 UDP 广播,数据包包含您要激活的主机的 MAC 地址:

UDP 255.255.255.0:60000

呜呜呜……

如果主机“关闭”,“ping”(或其他任何东西?)会有什么好处?

真正感兴趣的是:

1) 有问题的主机可以接收您的 UDP 广播吗?

2)您和主机之间是否有任何东西阻塞了端口?

于 2012-01-12T20:27:50.250 回答