Moin,
ich möchte gerne mehrere IPs (so 1000 Stück) in einem Online-Netzwerk prüfen. Gibt es da eine Effizientere Lösung als alle IPs einzeln anzupingen?
Mfg
Das Leben ist schön!
Nein Broadcasts sind über das Internet deaktiviert.
Desweiteren hast du 1000 Maschinen, diese musst du also vorher schon kennen. - Wäre es da nicht sinnvoll diese eben doch anzupingen? Das ganze kannst du ja in einzelnen Threads machen.
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Hallo,
wobei man natürlich (besonders im Internet) damit rechnen muss, daß Pings von restriktiven Firewalls verschluckt werden.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Ich habe das über einen Threadpool mal getestet und zumindest auf den Arbeitsrechnern war das nicht gerade schnell.
dan sag uns doch mal was "nicht besonders schnell" und was "Effizientere Lösung" jeweils für zeiten sind/sein sollen.
MfG Paul
Hi,
Ich habe das über einen Threadpool mal getestet und zumindest auf den Arbeitsrechnern war das nicht gerade schnell.
Hast du trotzdem die blockierende API-Verwendet ? (ohne Async, etc) Dann kann das nicht viel schneller sein. Denn selbst wenn du den ThreadPool verwendest, blockieren ja deine Worker. Und .NET erstellt nur naaaach und nach ( so im 2sekunden-Takt) neue Threads, wenn die alten blockiert sind.
IO-Sachen, wie Netzwerk zu parallelisieren geht **immer **über die asynchrone IO-Variante.
Vielleicht hilft dir auch:
Viele Pings mit nicht sichergestelltem existierendem Hostnamen
Abarbeitung einer Liste auf mehrere Threads aufteilen
beste Grüße
zommi