私のルーターには 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 " 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