Hallo,
wisst ihr wie ich festellen kann, ob ein bestimmter Rechner im Netz existiert. Möglichst nicht pingen oder ähnliches.
Danke euch!
Gruß Dennis
mchtest du wissen ob er an ist oder ob er existiert z.b. in einer domäne?
"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."
Eventuell kannst du das über die Domäne machen (wenn eine existiert)
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Also, ich möchte wissen, ob er für mich verfügbar ist, ob ich Rechte habe auf ihn zuzugreifen.
Ja, eine Domäne existiert.
//edit: Eine Domäne wird allerdings nicht immer existieren.
Die Frage ist eher was du damit erreichen möchtest?
Schliesslich kann man unterschiedliche Rechte vergeben. Sei es auf Dateisystem Ebene, Registry Ebene, usw.
Ich muss auf die Registry zugreifen.
Momentan habe ich noch einen Try-Catch-Block drumherum gebastelt. Das Problem ist nur, dass falls der Rechner nicht existiert oder ich keine Rechte auf ihn habe, die Anwendung für 3-5 Sekunden einfriert. Das möchte ich verhindern. Und natürlich ist es schöner als ein Try-Catch 😉
also sofern du in einer domäne arbeitest ist kannst ja eine abfrage aufs active directory machen ob der rechner existiert (vorteil der rechner brauch dazu nicht an sein).
wenn du sagst: du möchtest prüfen ob der rechner für dich verfügbar ist, meinst du damit ob er an ist? wenn ja ist anpingen denke ich die beste möglichkeit.
was meinst du mit "ob ich Rechte habe auf ihn zuzugreifen"??
"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."
Also er muss auf jeden Fall verfügbar sein -> ich muss auf die Registry zugreifen. Somit brauche ich Rechte, um auf die Registry zuzugreifen.
Wie gesagt - eine Domäne ist leider nicht der Standardfall.
Hallo dennisspohr,
Dein Problem ist doch gar nicht festzustellen, ob ein Rechner "verfügbar" ist, Dein Problem ist doch:
, die Anwendung für 3-5 Sekunden einfriert.
Und das kannst Du verhindern, wenn Du den Vorgang in einen Thread auslagerst und dann das Ergebnis Deiner Applikation mitteilst. Da das sowieso ein Netzwerkzugriff ist, musst Du IMMER damit rechnen, dass eine solche Anfrage länger dauern kann und evtl. sogar abbricht.
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Hallo norman_timo,
ja gut, das war ja nicht der einzige Grund, nur der Ausschlag gebene.
Ich dachte es geht ein wenig sauberer, ohne einen Try-Catch-Block.
Gut, dann lass ich den Try-Catch-Block.
Vielen Dank für eure Hilfe!
Gruß Dennis
Ev. reicht ja schon ein DNS.Resolve... so wüsstest Du, ob es so einen Rechner gibt... was allerdings noch nicht heisst, dass Dieser läuft... und schon gar nicht ob Du da Rechte hast.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...