Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wake on lan, skrypt "wake on lan"
dnawrot
post 9.07.2004, 22:41:06
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.06.2004

Ostrzeżenie: (0%)
-----


Mam pytanko. Niestety jestem początkujący jeśli chodzi o php, niemniej jednak chciałbym napisac lub zdobyć skrypt do pobudzania kompów w LAN'ie. Wiem, że do tego służy funkcja Wake on Lan, stąd taki temat postu. Nawet nie wiem od czego się zabrać i czy w ogóle da się napisać taki skrypcik. Thx z góry za odpowiedzi.


--------------------
Go to the top of the page
+Quote Post
Sh4dow
post 10.07.2004, 09:03:43
Post #2





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Ponownie wielkie trzewia manuala otworzyly sie wypuszczajac stwora zwanego WOL, ktory zostal stworzony z czesc jego tworzyciela
  1. <?php
  2. # Wake on LAN - (c) HotKey@spr.at, upgraded by Murzik <tomurzik@inbox.ru>
  3.  
  4.  
  5. function WakeOnLan($addr, $mac)
  6. {
  7.  $addr_byte = explode(':', $mac);
  8.  $hw_addr = '';
  9.  
  10.  for ($a=0; $a < 6; $a++) $hw_addr .= chr(hexdec($addr_byte[$a]));
  11.  
  12.  $msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
  13.  
  14.  for ($a = 1; $a <= 16; $a++) $msg .= $hw_addr;
  15.  
  16.  // send it to the broadcast address using UDP
  17.  // SQL_BROADCAST option isn't help!!
  18.  $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
  19.  if ($s == false)
  20.  {
  21. echo &#092;"Error creating socket!n\";
  22. echo &#092;"Error code is '\".socket_last_error($s).\"' - \" . socket_strerror(socket_last_error($s));
  23.  }
  24.  else
  25.  {
  26.  // setting a broadcast option to socket:
  27. $opt_ret = socket_set_option($s, 1, 6, TRUE);
  28. if($opt_ret < 0)
  29. {
  30.  echo &#092;"setsockopt() failed, error: \" . strerror($opt_ret) . \"n\";
  31. }
  32. $e = socket_sendto($s, $msg, strlen($msg), 0, $addr, 2050);
  33. socket_close($s);
  34. echo &#092;"Magic Packet sent (\".$e.\") to \".$addr.\", MAC=\".$mac;
  35.  }
  36. }
  37.  
  38. #WakeOnLan('yourIPorDomain.dyndns.org', 'your:MAC:address');
  39. #WakeOnLan('192.168.0.2', '00:30:84:2A:90:42');
  40. #WakeOnLan('192.168.1.2', '00:05:1C:10:04:05');
  41.  
  42. //if you have switch or other routing devices in LAN, sendign to
  43. // the local IP isn't helps! you need send to the broadcast address like this:
  44. WakeOnLan('192.168.1.255', '00:05:1C:10:04:05');
  45.  
  46. ?>


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
dnawrot
post 10.07.2004, 17:05:05
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.06.2004

Ostrzeżenie: (0%)
-----


Dzięki wielkie. snitch.gif Mam jednak mały problem. Mianowicie przy wywoływaniu skryptu wyrzuca mi taki błąd.

Fatal error: Call to undefined function: socket_create() in c:\usr\krasnal\www\david\wol\index.php on line 19

czym to może być spowodowane? może to bardzo głupie pytanie, ale niestety jestem laikiem jeśli chodzi o php.


--------------------
Go to the top of the page
+Quote Post
Paul
post 10.07.2004, 17:19:48
Post #4





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Mysle, ze masz za stare php... W manualu przy socket_create" title="Zobacz w manualu PHP" target="_manual pisze :

php 4 >= 4.1.0, php 5
Go to the top of the page
+Quote Post
dnawrot
post 11.07.2004, 16:48:38
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.06.2004

Ostrzeżenie: (0%)
-----


Wszystko od nowa zainstalowałem. Apache 2, php 5, mysql 5 i nadal wywala mi ten błąd.
cos musi byc nie tak, tylko co?


--------------------
Go to the top of the page
+Quote Post
Sh4dow
post 12.07.2004, 10:31:07
Post #6





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Zobacz czy masz odznaczony w php.ini
Cytat
extension=php_sockets.dll
lub
extension=php_sockets.so


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.05.2025 - 05:40