Probleme mit socket_set_option()

Alles, was PHP betrifft, kann hier besprochen werden.

Probleme mit socket_set_option()

Postby TAriq » 02. May 2005 22:14

Guten Abend

Ich habe folgenden Fehler beim ausführen des folgenden codes:

Warning: socket_set_option() [function.socket-set-option]: unable to set socket option [0]: Ein ungültiges Argument wurde angegeben. in C:\apachefriends\xampp\htdocs\wol.php on line 28

Code: Select all
<?php
# Wake on LAN - (c) HotKey@spr.at, upgraded by Murzik <tomurzik@inbox.ru>

flush();

function WakeOnLan($addr, $mac)
{
 $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;

 // send it to the broadcast address using UDP
 // SQL_BROADCAST option isn't help!!
 $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));
 }
 else
 {
 // setting a broadcast option to socket:
  $opt_ret =  socket_set_option($s, 1, 6, TRUE);
  if($opt_ret < 0)
  {
   echo "setsockopt() failed, error: " . strerror($opt_ret) . "\n";
  }
  $e = socket_sendto($s, $msg, strlen($msg), 0, $addr, 2050);
  socket_close($s);
  echo "Magic Packet sent (".$e.") to ".$addr.", MAC=".$mac;
 }
}

#WakeOnLan('yourIPorDomain.dyndns.org', 'your:MAC:address');
#WakeOnLan('192.168.0.2', '00:30:84:2A:90:42');
#WakeOnLan('192.168.1.2', '00:05:1C:10:04:05');

//if you have switch or other routing devices in LAN, sendign to
// the local IP isn't helps! you need send to the broadcast address like this:
WakeOnLan('192.168.1.255', '00:0E:A6:2D:28:6D');

?>


komischerweise startet der Rechner, trotz der Fehlermeldung, auf!

Ich hoffe Ihr könnt mir weiterhelfen

lg TAriq
TAriq
 
Posts: 1
Joined: 02. May 2005 21:33

Return to PHP

Who is online

Users browsing this forum: No registered users and 57 guests