服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: 130-5800-8007
当前位置: 主页 > php教程 > php教程 >

利用PHP远程唤醒计算机,发送唤醒魔术包

时间:2016-03-13 23:48来源: 作者: 点击:
这个功能得计算机主板和网卡支持才可以,具体请百度。 view source print? 01 private function wakeOnLan( $ip , $mac , $port ){ 02 03 $addr_byte = explode ( : , $mac ); 04 $hw_addr = ; 05 for ( $i =0; $i 6; $i ++) 06 $hw_

利用PHP远程唤醒计算机,发送唤醒魔术包,这个功能得计算机主板和网卡支持才可以,具体请百度。

view source
 
print?
01 private function wakeOnLan($ip,$mac,$port){
02  
03     $addr_byte explode(':'$mac);
04     $hw_addr '';
05     for ($i=0; $i <6; $i++)
06         $hw_addr .= chr(hexdec($addr_byte[$i]));
07     $msg chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
08     for ($i = 1; $i <= 16; $i++)
09         $msg .= $hw_addr;
10  
11     $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
12     if ($socket == false) {
13         echo "create socket failed!\n";
14         echo "error:'".socket_last_error($socket)."' - " . socket_strerror(socket_last_error($socket));
15         return FALSE;
16     else {
17         $opt_ret = socket_set_option($socket,SOL_SOCKET, SO_BROADCAST, TRUE);
18         if($opt_ret <0) {
19             echo "setsockopt() failed, error: " . strerror($opt_ret) ."\n";
20             return FALSE;
21         }
22         if(socket_sendto($socket$msgstrlen($msg), 0, $ip$port)) {
23             echo "唤醒数据包发送成功!";
24             socket_close($socket);
25             return TRUE;
26         else {
27             echo "唤醒数据包发送失败!";
28             return FALSE;
29         }
30     }
31 }
32  
33 public function actionTestWakeOnLan(){
34     $mac '00:E0:4C:68:07:43';
35     $ip '10.3.3.99';
36     $this->wakeOnLan($ip,$mac,7);
37 }

(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
栏目列表
热点内容