wakeonlan php-gtk2

simples graphisches tool um einen rechner peer magic packet aufzuwecken. komplett php, auch das senden des magic-packet - läuf auf linux und windows.

öffnen in der konsole (auch unter windows mit installierter e23-php-gtk-runtime):

php wakeup.phpw

unter windnows kann mit installierter runtime auch einfach die phpw-datei durch doppelklick gestartet werden.

wakeonlan.tar.gz (6KB)

screenshot unter linux (ubuntu):

wol

und unter windows xp:

winwake.png

 

die wake-funktion:

function wake_on_lan($mac, $addr) {
	$addr_byte = explode(':', $mac);
	$hw_addr = '';
	for ($a=0; $a < 6; $a++) $hw_addr .= chr(hexdec($addr_byte[$a]));
	$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("Kann Sockel nicht erstellen !\nError code: '");
		echo(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() ist fehlgeschlagen, Error: " . strerror($opt_ret));
			return false;
		}
		$e = socket_sendto($s, $msg, strlen($msg), 0, $addr, 2050);
		socket_close($s);
		return true;
	}
}