我的路由器有一个 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;
}
*/
}