我的路由器有一个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;
}
*/
}
答案 0 :(得分:0)
也许它超时,在你的剧本顶部尝试这样的事情:
ini_set('default_socket_timeout',300);