c# - 确定远程计算机已启动并正在运行的最佳方法

标签 c# ping

我正在编写一个控制另一台计算机的测试应用程序。测试计算机通过 RS-232 端口发送命令字符串(从使用 C# 应用程序运行 Windows XP SP2 的控制计算机)启动,此时测试计算机将开机并启动进入 Windows XP。我想知道确定计算机何时完成启动过程并正常运行的最佳方法是什么。

我在想以下几点:

1) 我正在考虑对那台计算机执行 ping 操作,或者
2) 拥有一个共享驱动器,如果能够访问该共享驱动器,或者
3) 编写一个我可以与之通信的小型服务

是否有不同/更好的方法?

标记

最佳答案

这完全取决于您认为“已完成启动过程并正常运行”。例如,如果您只关心网卡初始化的那一刻,ping 可能很好(只要 ECHO 端口未关闭)。

共享不是一个好主意,因为它们通常只有在用户登录时才可用,具体情况可能会也可能不会,具体取决于您的情况。但即便如此,如果您更改配置或确定打开共享是安全漏洞怎么办?

如果您想确定地播放它,或者如果您只需要等到所有 服务都已启动,您应该考虑第三种选择。这是最容易做到的。让它在端口 80 上监听并从 IIS 运行。当被询问时,它可以回答机器的一些细节。这也将为您提供最大的灵 active 。使用 IIS 可以帮助您不必编写自己的服务,并使安装和配置变得简单。

如果 IIS 不是一个选项,您当然可以考虑编写自己的服务。做起来并不难,但需要您自己编写代码来监听某些端口。

关于c# - 确定远程计算机已启动并正在运行的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3285304/

相关文章:

c# - 通过引用传递HashSet <string>

c# - 为什么在 VS 中切换到 release 不在 web.config 中将 debug 参数设置为 false

c# - 查看结果或操作结果 |如果 ActionResult 无论如何都对一切都有好处,那么使用 ViewResult 是否有意义?

c# - 如何在 Unity 中使用 WASD 移动二维对象

c# - 修改 Entity Framework 类型 T4 模板

swift - 快速测试 ping 和服务器可用性

python - 在 Python 中使用 fping 获取 ping 时间

loops - 暂停批处理文件直到可以访问主机(使用 ping)?

perl - 如何判断网页是否存在?

linux - 如果无法 ping 通目的地,我如何获取网络延迟?