卡卷网
当前位置:卡卷网 / 每日看点 / 正文

Win10关机可以网络唤醒,睡眠无法网络唤醒?

作者:卡卷网发布时间:2024-12-12 00:26浏览数量:98次评论数量:0次

/** * 发送网络唤醒 * @param $mac_address mac地址 * @param $broadcast_address 广播地址 * @param $port 端口号(默认都是7或者9) * @return array */ public function sendWol() { // 设置网络唤醒:远程唤醒电脑WOL(Wake On LAN - 局域网唤醒) // https://blog.csdn.net/a843334549/article/details/107290137/ // 目标计算机的MAC地址 $macAddress = '60-BE-B4-01-FD-B5'; // 设置目标IP地址和端口(通常为9) $ip = '255.255.255.255'; // 广播地址 $port = 9; // 将MAC地址转换为二进制格式(截取mac地址,有可能是 : 或者 -) $macBytes = explode('-', $macAddress); $macBinary = ''; foreach ($macBytes as $byte) { $macBinary .= chr(hexdec($byte)); } // 构造WOL魔术包 $magicPacket = str_repeat(chr(0xFF), 6) . str_repeat($macBinary, 16); // 创建UDP socket $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($socket === false) { die('Socket creation failed: ' . socket_strerror(socket_last_error())); } // 设置socket为广播模式 socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, 1); // 发送魔术包 $result = socket_sendto($socket, $magicPacket, strlen($magicPacket), 0, $ip, $port); if ($result === false) { die('Magic packet send failed: ' . socket_strerror(socket_last_error($socket))); } // 关闭socket socket_close($socket); return ['code'=>200, 'msg'=>'Magic packet sent successfully', 'data'=>[]]; }

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码