• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

...sauber programmieren...(mit Schleife?)

wasserundsand

Cox Orange
Registriert
28.02.07
Beiträge
100
Hallo!

Ich habe eine onlineabfrage mit script. das ganze läuft mit einer schleife und funktioniert soweit...nur...wenn ich den computer abschalte rebelliert er weil er ja noch in meiner onlineabfragenschleife hängt.

Liebe PROs wie programmiert man sowas richtig???

LG Hans

P.S.: ich will aber die Schleifendurchläufe nicht begrenzen da sich der onlinestatus ja immer ändern kann.
 

Seddi

Fießers Erstling
Registriert
29.05.07
Beiträge
127
Etwas Source-Code wäre hilfreich bzw. eine etwas detailliertere Beschreibung des Scriptaufbaus. In welcher Programmier/Scriptsprache wird das Programm realisiert ?(PHP ~Fragezeichen) Wie viele Host's im Netz möchtest du auf den "Onlinestatus" überprüfen? (Lässt sich mit PHP ganz einfach realisieren!)

Grüße
Max
 

wasserundsand

Cox Orange
Registriert
28.02.07
Beiträge
100
sorry...

Code:
property loop_true : "1" --									Anfangswert festlegen

property my_net : false --									Anfangswert für Verbindungszustand
--														false...Startwert, kein Netz
--														true...Internet
repeat while loop_true = "1"
	try --												Versuchschleife
		do shell script "ping -s1 -t4 -o www.google.at"
		if my_net = false then --							...kein Fehler, false --> Online
			say "online"
			set my_net to true
		end if
	on error --											...bei Fehler --> Offline
		if my_net = true then
			say "offline"
			set my_net to false
		end if
	end try
	delay 10
end repeat
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Bist Du sicher, dass der fragliche Server überhaupt auf ICMP-Echo-
Request-Pakete antwortet, d.h. "pingbar" ist? Oder geht es wirklich um google.at?
 

Seddi

Fießers Erstling
Registriert
29.05.07
Beiträge
127
Also wie gesagt, in PHP wäre das ganze sehr einfach zu realisieren, hier ein Beispiel:

Code:
<?php
    function get_computerstatus(){
        // IP oder Host
        $ip = "XXX.XXX.XXX.XXX";
        // Wenn keine Ausgabe von ping.exe erfolgen soll, dann true benutzen.
        $exec = true;
        
        // Pingen der IP mit anschliessender Auswertung
        if($exec) exec("ping $ip -n 1", $array, $return);
        else system("ping $ip -n 1", $return);
        
        // Vergleich der Werte
        if($return){
            print "Server ist offline!";
        }
        else print "Server ist online!";
    }
    get_computerstatus(); 
?>
Hilfreich, ja/nein?

Grüße
 

wasserundsand

Cox Orange
Registriert
28.02.07
Beiträge
100
puh...ich mein php...
hab schon oft davon gehört :)
...ehrlich gesagt weiss ich aber nicht wo ich php programmieren kann.
...mit dem scripteditor geht das ja wohl nicht...
...kann man mit php auch so viele apple-aplications wie mit applescript ansprechen?

LG Hans
 

Seddi

Fießers Erstling
Registriert
29.05.07
Beiträge
127
Da ich bislang eig. kaum etwas mit Mac OS X zu tun hatte, kann ich dir die letzte Frage nicht beantworten. Für PHP gibt es aber einige OS Editoren (z. B.: Eclipse / http://www.eclipse.org) die dafür wunderbar geeignet sind. Du braucht dauzu lediglich einen PHP-Fähigen Webserver (Apache inkl. PHP-Modul, etc. / www.apache.org). PHP ist sehr einfach zu erlernen und unterscheidet sich kaum von anderen Programmiersprachen, das Manual, die Funktionsreferenz und die Installationsanleitung dazu findest du auf http://www.php.org

Eigentlich wollte ich dir PHP ja gar nicht schön reden, liegt nach wie vor ja an dir. Viele Vorteile sprechen f ü r PHP, ich kann's dir aus eigener Erfahrung auch nur wärmsten's empfehlen.

Grüße
Max
 

wasserundsand

Cox Orange
Registriert
28.02.07
Beiträge
100
...danke für die links die muss ich mir mal zu gemüte führen!
...brauche aber die apple-aplications

LG Hans
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
naja, du könntest es mit einem on idle-handler machen.
dazu das script als application abspeichern und den haken bei "nicht automatisch beenden" setzen (sonst greift der on idle-handler nicht).

on idle
***checkNet()
***return 10
end idle

on checkNet()
-- hier dein code
end checkNet

der return-wert steuert, nach welchem zeitraum der code erneut gezündet werden soll.
gruß, H =:oops:) L G I
 
  • Like
Reaktionen: 1 Person

wasserundsand

Cox Orange
Registriert
28.02.07
Beiträge
100
Danke!

der seperate teil (on checkNet()) ist vermutli zwecks übersicht!?

LG Hans
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Was willst Du mit dem Skript eigentlich überhaupt erreichen? Also was ist der Zweck dahinter?
Gruß Pepi
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
Eine andere Möglichkeit wäre, das Script regelmässig per cron starten zu lassen. Dann hast du nicht immer einen Prozess laufen. Ich weiss ja nicht, ob du's wirklich alle 10 Sekunden starten willst, oder ob der Zeitabstand nur zu Testzwecken von Dir so kurz gewählt wurde.

der seperate teil (on checkNet()) ist vermutli zwecks übersicht!?

richtig. das ist natürlich keine pflicht.
 

wasserundsand

Cox Orange
Registriert
28.02.07
Beiträge
100
@pepi...hab mit mail combiniert und kann dan automatisch synchronisieren
:cool:

@cloneofmyseelf
wie geht das mit cron bzw was ist das ... grins