0

サーバーをオンにする小さなスクリプトを作成しようとしています。ネット上でいくつかの例を見つけましたが、すべてがどのように組み合わされているかをよりよく把握するためにも、この基本的/単純なものを維持したいと思いました。しかし、これは機能しません。サブネット255 2552550をどこかに指定する必要があることに気付きました...

何か案は?

<?php

//check if server is up and running
$alive = fsockopen("XXX.168.1.1", 80, $errno, $errstr, 2);

    if (!$alive) {
        echo "<h1>Server is Down!</h1>";
        echo "I will try to turn it on now...";

        //Creating magic packet
        $mac_address = str_repeat("XXX5XXXX5XXX", 16);
        $msg = "FFFFFFFFFFFF " . "$mac_address" . "000000000000";
        $host_addr = "XXX.168.1.1";
        $host_port = "X";

        //Connect send and close connection
        $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
        $socket_data = socket_send($socket, $msg, strlen($msg), 0, $host_addr, $host_port);

        socket_close($socket);
        //testing
        //echo 
    } else {
        echo "<h1>Server is Up!</h1>";
        fclose($alive);
    }

?>
4

1 に答える 1

1

これを確認してください:http ://www.php.net/manual/en/function.socket-sendto.php#57746

そしてこれ:http ://www.php.net/manual/en/function.socket-send.php#58574

多分これでも:http://www.codeproject.com/Articles/11469/Wake-On-LAN-WOL

ブロードキャストを行うには、IPアドレス引数を「255.255.255.255」に設定する必要があることがわかります:)

于 2012-05-28T19:37:57.610 に答える