Ein Autoit-Bug?

  • Hallo, ich bin gerade dabei ein Skript zu schreiben, leider funktioniert eine Methode nicht so richtig wie ich möchte


    wenn ich die integrierte Funktion ping verwende, bekomme ich immer 1 zurück, der @error gibt immer 0 zurück.
    egal, ob netzwerkadapter deaktiviert oder kabel abgezogen
    nur bei einer ungültigen IP-Adresse (bsp.: 983.1.1.1) gibt es fehler


    was kann ich tun?

  • ping($ziel_ip, 100)
    MsgBox(0,"",@error)


    gibt immer 0 zurück
    ping gibt immer 1 zurück
    selbst, wenn mein einziger adapter deaktiviert ist oder das netzwerkkabel abgesteckt


    in $ziel steht "192.168.2.1"


    der windows ping verhält sich so, wie es anzunehmen ist

  • 0.. steht doch da ;)


    Zeigst du uns mal ein Skript? Was pingst du an?

    ich möchte eine textdatei erstellen, die mir sagt, wann das netz weg war und wann die verbindung wieder besteht


    ich bin gerade am umwerfen des skritpcodes aufgrund des fehlers, deswegen muss noch nicht alles sinn ergeben
    ich wollte jetzt einfach nur dass ping das richtige zurückgibt


  • Hi, versuchs mal so:


  • ursprünglich hatte ich den code so, dass im return direkt der ping-aufruf gestartet wird
    nur zur fehlersuche habe ich schnell ne variable und ne messagebox reingebastelt


    sollte ja aber auch eigentlich kein unterschied machen, typen und casten gibts ja nicht
    was ich nicht verstehe ist diese 1 die zurückkommt
    diese ist ja als eine millisekunde zu interpretieren, kann aber ja gar nicht sein wenn gar keine verbindung besteht

  • Das Problem hatten wir schon einmal (kann den Thread selbst mit Google aber gerade nicht finden). Ich meine mich zu erinnern, dass das Ergebnis war, dass die AutoIt-Ping-Funktion tatsächlich unter manchen Umständen nicht korrekt funktioniert. Als Alternative kannst du die korrekte Ausgabe des cmd-Programmes anzapfen :).

  • Hi, vielleicht ist es bereits zu spät bzw mittlerweile unnötig, aber ich hatte mir vor längerer Zeit auch mal genau soetwas geschrieben.


    @loady: Kannst es für dich nutzen/modifizieren wenn du willst.


    Damit wird nur dann ein Logfile erstellt, wenn keine der 5 IP-Adressen/Websites nicht erreicht werden können. Dann kann man ja davon ausgehen, dass keine Verbindung zum Internet besteht.
    Das Logfile ist übersichtlich und trägt im Namen das Datum als das Internet nicht zur Verfügung stand. Desweiteren wird auch eine Zusammenfassung erstellt, inder die gesammte Ausfallzeit protokolliert wird.


    Grüsse, Lottich

  • hi, danke
    ich denke dann trifft das bei mir zu was peethebee gesagt hat, anders kann ichs mir nicht erklären


    danke lottich, aber das problem bei mir scheinbar ist, dass die ping funktion nicht zuverlässig funktioniert

  • nein, ich habe auf meinem pc keine aktive firewall


    ich hab die variante mit der temporären textdatei versucht, das kostet zu viel last, sekündlich eine datei zu schreiben, lesen und wegzulöschen =/
    kann ich das ergebnis nicht direkt verwerten?

  • Kannst du schon machen:


  • nein, ich habe auf meinem pc keine aktive firewall


    Ich kann sowas nicht verstehen. Dass es immer wieder leute gibt, die ohne Feuerwand ins WWW gehen. 8|
    Persönlich kann ich das eigentlich gar nicht glauben, da Windows ja von hause aus eine Firewall nutzt. Deshalb bin ich mir fast schon sicher,
    dass es sich hier um verarsche oder absichtlicher Lüge handelt.

  • danke chip, hat mir weitergeholfen


    Lottich
    die windows firewall hab ich deaktiviert, die nervt im lan nur
    was soll auch groß passieren? ich mach auf mein pc kein port-forwarding, rausgehend nur nat + spi übern router