2012-03-08 83 views
1

我想要获取域中计算机上的Switched列表。当然,我可以通过使用directoryentry class获得域中的计算机列表,但是它给出域中所有计算机的列表,无论它是否打开。我已经在stackoverflow上获得了2,3个链接,但没有得到答案。 pinging需要更多时间。在C#中有没有任何有效的解决方案?c#:如何找到域C#中的计算机开机?

+0

pinging可能是唯一的解决方案 – xbonez 2012-03-08 10:53:46

+0

你需要什么信息?也许有更好的方法来解决任何激励问题。 – shambulator 2012-03-08 12:08:37

回答

0

你可能想看看像SCOM这样的解决方案。它提供了一个比ping更可靠的“心跳”功能(某些企业防火墙可能会阻止icmp,例如ping流量)。还有一些其他监控的东西。这确实意味着更多的管理开销。

如果你想要最简单的解决方案,你无法绕过ping。也许你可以使用像这样的多线程的ping:https://codereview.stackexchange.com/questions/1202/c-multi-thread-ping

0

为了解决这个问题,我简单地做了一个C#应用程序,它能够对所有计算机执行ping操作,这可以根据您的网络快速完成。

Basicly你做的是(和我做了什么):
1)取你的网络家伙
2)与他谈话,问他是否有任何“防洪”。
3)如果他没有尖叫,可以尽可能多地产生线程,并使用它们来ping机器:)。


@Mr快乐已经链接到代码如何多线程平(不是它的问题)。