电脑网络唤醒php源码

技术文章2年前 (2023)发布 gyx131
158 0 0
  • <?php
    //唤醒机器的IP、mac地址和端口信息
    $ip="8.8.8.8";
    $mac="AA:BB:CC:DD:EE:FF";
    $port=9;
    $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 发送数据包
    $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    
    if ($s == false)
    {
    die(); // socket_create 执行失败
    }
    
    $set_opt = @socket_set_option($s, 1, 6, TRUE);
    
    if ($set_opt < 0)
    {
    die(); // socket_set_option 执行失败
    }
    
    //发送数据包
    $sendto = @socket_sendto($s, $msg, strlen($msg), 0, $ip, $port);
    
    if ($sendto)
    {
    socket_close($s); // magic packet 发送成功!
    }
    die(); // magic packet 发送失败!
    
    ?>
© 版权声明

相关文章

暂无评论

暂无评论...