WOL über PHP-Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
bestimmten port
button
code
datum
frohe weihnachten
geduld
header
hochfahren
http
internet
laufen
paket
port
realisieren
senden
server
signal
webseite
zweck
-
Hallo (und frohe Weihnachten),
ich habe bei mir zuhause einen Webserver installiert. Dieser Webserver-PC sollte jedoch nicht immer laufen. darum dachte ich mir, ich würde auf lima-city ein script laufen lassen und immer wenn wer zb. auf valuser.lima-city.de zugreift, schaltet sich mein pc über wol übers internet ein und nach so ca. 1 min leitet die seite auf 123.123.123.123/webseite um. kann ich den wol-befehl über php bzw. java-script ausführen lassen.
Es sollte ungefähr so sein wie auf dieser webseite, nur hald automatisierend und ohne buttons und textfelder...
http://stephan.mestrona.net/wol/ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo (und frohe Weihnachten),
ich habe bei mir zuhause einen Webserver installiert. Dieser Webserver-PC sollte jedoch nicht immer laufen. darum dachte ich mir, ich würde auf lima-city ein script laufen lassen und immer wenn wer zb. auf valuser.lima-city.de zugreift, schaltet sich mein pc über wol übers internet ein und nach so ca. 1 min leitet die seite auf 123.123.123.123/webseite um. kann ich den wol-befehl über php bzw. java-script ausführen lassen.
Es sollte ungefähr so sein wie auf dieser webseite, nur hald automatisierend und ohne buttons und textfelder...
http://stephan.mestrona.net/wol/
Schicke einfach über eine Socketverbindung POST-Daten an die auswertende PHP-Datei der von dir angeführten Webpage.
Du findest aber auhc sicher irgendwelche PHP-Skripts oder ähnliches, um etwas ähnliches selbst zu realisieren.
Was mir neben der technischen Seite eher fragwürdig vorkommt ist der Zweck, den du damit verfolgen möchtest.
Meinst du, ein Benutzer möchte warten, bis dein Server zu Hause hochgefahren ist?
Hast du daran gedacht, dass dein Server danach auch wieder heruntergefahren werden sollte?
Etc. etc. etc.
gruß
ferdinand24
-
naja, die user sind eh zumeist ich selbst oder meine freunde. und die wissen eh, dass sich der server erst mal hochfahren muss. oda soll ich den lima-city server auslasten, wenn ich mal so 500mb große datein andauernd hochlade?^^
dann werde ich noch so ein kleines skript programmieren, damit sich der PC nach ca. 1h unbenützung herunterfährt
lg
Vali -
Das kommt auch auf deienen PC zuhause an, wie ist der mit dem Internet verbunden?
Ist die IP immer gleich?
Wenn ja, dann sende, wenn möglich, über eine Socketverbindung das Paket an deinen PC, dass das WOL aktiviert.
(UPD-Port 9)
http://de.wikipedia.org/wiki/Wake_On_LAN
Dann kannst du in regelmäßigen abständen den Port 80 des Servers anpingen. Wenn ein Signal kommt, ist der Server online
dann kannst du ein redirect mit header() oder ähnliches machen -
die IP ist (fast) imemr die selbe. könnte ich aber auch mit DynDNS den PC anpingen und aufwecken?
PS: wie kann ich einen Ping machen? Ping basiert doch auf dem IPCM-Protokoll (oder wie das immer so schön heisst) -
Wenn dyndns die udp-Pakete an deinen PC weitersendet, dann ja.
du kannst für den PING auch fsockopen() nehmen:
<?php //####################################### //####################################### //####### WOL-PAKET AN SERVER SENDEN #### //####################################### //####################################### $wakecon = fsockopen(\"udp://deinname.dyndns.org\", 8, $errno, $errstr); if (!$wakecon) { echo \"ERROR: $errno - $errstr<br />Das WOL-Paket konnte nicht gesendet werden\\n\"; } else { //HIER DAS PAKET SENDEN: http://php.net/socket echo\"Das Paket wurde gesendet, habe Sie einen Moment Geduld... Der Server bootet\"; } //####################################### //####################################### //####### Serverstatus überprüfen ####### //####################################### //####################################### $fp = fsockopen(\"deinname.dyndns.org\", 80, $errno, $errstr); if (!$fp) { echo \"ERROR: $errno - $errstr<br />Der Server ist anscheinend noch offline\\n\"; } else { echo\"Der Server ist online<br><a href=\\\"http://deinname.dyndns.org\\\">KLICK</a>\"; } ?>
-
also das WOL-skipt habe ich bereits gefunden, und es funktioniert
nur noch eine frage: wie kann ich auf eine ip mit einem bestimmten port \"hinpingen\"? eigentl. brazuche ich eh keinen richtigen ping. ich habe nämlich auf port 8096 einen webserver (manchmal) laufen, und dementsprechend ob der server gerade on oder offline ist, sollte das php-skript automatisch auf eine andere seite umleiten. -
Etwas solches steht im Code, den ich oben gepostet habe:
<?php $fp = fsockopen(\"deinname.dyndns.org\", 8096, $errno, $errstr); if (!$fp) { header(\'Location: server_offline.html\'); } else { header(\'Location: server_online.html\'); } ?>
fsockopen(\"deinname.dyndns.org\", 8096, $errno, $errstr);
Im ersten Parameter trägst du den Server ein, der angepingt werden soll.
Im zweiten den Port, wo es geschehen soll.
Im 3. und 4. werden Fehlerdaten (falls vorhanden) gespeichert -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage