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