ich habe mir hier ein PHP Skript besorgt. Allerdings geht das ganze leider nicht. Kann mir jemand sagen wo der Fehler ist! die ganzen Socketfunktionen müssten eigentlich richtig sein.
Ich möchte auf eine Dyndns.org Adresse an Port 9 Udp ein Magicpaket schicken.
<?php if (WakeOnLan('00:11:22:33:44:55, 'test.dyndns.org')) { echo "WOL erfolgreich"; } else { echo "WOL FEHLER!!!"; } /** * Verschickt ein WakeOnLan Paket an eine gegebene IP oder Broadcast Adresse * Die Mac Adresse muss im Format xx:xx:..:xx angegeben werden * * @param string $mac Hardware Adresse des Servers * @param string $addr IP oder Broadcast an die das Paket soll * @return boolean */ function WakeOnLan($mac, $addr) { $addr_byte = explode(':', $mac); $hw_addr = ''; for ($a=0; $a < 6; $a++) { $hw_addr .= chr(hexdec($addr_byte[$a])); echo chr(hexdec($addr_byte[$a])); echo '<br/>'; } $msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255); for ($a = 1; $a <= 16; $a++) $msg .= $hw_addr; $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($s == false) { echo "Error creating socket!n"; echo "Error code is '".socket_last_error($s)."' - " . socket_strerror(socket_last_error($s)); return false; } else { $opt_ret = socket_set_option($s, 1, 6, TRUE); if($opt_ret < 0) { echo "setsockopt() failed, error: " . strerror($opt_ret) . "n"; return false; } //debug echo $msg; echo '<br/>'; //end debug $e = socket_sendto($s, $msg, strlen($msg), 0, $addr, 9); //debug echo $e; echo '<br/>'; //end debug socket_close($s); return true; } } ?>
Danke für die Antworten
Achso was ich noch sagen sollte.
Also an der WOL Einstellungen von Router und Gerät liegt es nicht.
Wenn ich ein WOL Paket über die Seite http://ifatwww.et.un...gdeburg.de/wol/ versende startet das Gerät.
Dieser Beitrag wurde von Urne bearbeitet: 26. Februar 2011 - 18:22