<? # 遠程喚醒程序 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; // 使用UDP socket傳播消息 $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($s == false) { echo "創建socket錯誤!/n"; echo "錯誤代碼是:'".socket_last_error($s)."' - " . socket_strerror(socket_last_error($s)); return FALSE; } else { //設置socket的選項 $opt_ret = socket_set_option($s, SOL_SOCKET, SO_REUSEADDR, 1); echo $opt_ret; if($opt_ret <0) { echo "設置socket選項失敗, 錯誤是: " . strerror($opt_ret) . "/n"; return FALSE; } if(socket_sendto($s, $msg, strlen($msg), 0, $addr, $socket_number)) { echo "魔術包發送成功!"; socket_close($s); return TRUE; } else { echo "魔術包發送失敗!"; return FALSE; } } } WakeOnLan("192.168.128.51","00:1c:C0:12:DA:5D","7");//輸入遠程喚醒的地址,mac地址,最后一個參數為7或9 ?>
php远程唤醒
最新推荐文章于 2024-07-29 22:50:36 发布