Jeg har en computer som jeg ville kunne vække over nette ved hjælp af Wake On Lan, men jeg oplever lidt problemer, jeg får følgende fejl når jeg kører scriptet:
Warning: socket_set_option() [function.socket-set-option]: unable to set socket option [0]: Der blev angivet et ugyldigt argument. in C:\xampp\htdocs\wake.php on line 16
Magic Packet sent successfully!
Pakken bliver sendt, og modtaget i den anden ende med success, men jeg får stadig fejlen, i så fald, har det noget at sige?
Koden er som følger:
<?
flush();
function WakeOnLan($addr, $mac,$socket_number) {
$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 "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;
}
if(socket_sendto($s, $msg, strlen($msg), 0, $addr, $socket_number)) {
echo "Magic Packet sent successfully!";
socket_close($s);
return TRUE;
}
else {
echo "Magic packet failed!";
return FALSE;
}
}
}
$socket_number = "776";
$mac_addy = "00:0B:DB:3F:9D:CB";
$ip_addy = gethostbyname("77.213.137.18");
WakeOnLan($ip_addy, $mac_addy,$socket_number)
?>