0

私のルーターには API があり、Telnet 経由で接続したり、Tellstick を制御したりできます。PHPを使用してルーターに接続しています。コマンドを実行できますが、 を使用して応答を読み取ろうとすると、応答socket_readの一部しか取得できません。

これは、Windows の telnet 機能を使用してルーターに接続した場合の外観です: http://i.imgur.com/hnIrVQa.png。コマンドへの応答は、ts aliases数行の長さです。

PHP スクリプトを使用してその応答を取得しようとすると、最初の行ALIAS=´Hallway´.

リッスンするために使用しているコードは次のようになります。

function reply($insocket) {

    if (false !== ($bytes = socket_read($insocket, 2048, PHP_BINARY_READ))) {
        return "&nbsp;&nbsp;&nbsp;Reply: <code>$bytes</code> \n<br>";
    } else {
        return "socket_read() failed; reason: " . socket_strerror(socket_last_error($insocket)) . "\n";
    }

    /*
    while ($out = socket_read($insocket, 2048)) {
        return $out;
    }
    */
}

すべてのコード: http://codepad.org/jykGgivv

4

1 に答える 1