我有一台服务器(debian lenny),频谱分析仪,我从Steve Sharples's网站下载了源代码集。有了这些。我可以连接到频谱分析仪 - 类型命令并获得响应。
例如:
my-atom:~/vxi11# ./vxi11_cmd 135.123.106.59
Input command or query ('q' to exit): *IDN?
我得到:Rohde&Schwarz,FSV-7,102004/007,1.50 SP1
我能连接到此服务器,编写命令并使用PHP读取响应吗?我在考虑插座,但我不确定是否是最好的选择。
非常感谢任何帮助。
谢谢, 彼得
答案 0 :(得分:0)
您可以使用exec,shell_exec,system或proc_open执行外部程序。
我建议使用proc_open,它允许你为stdin,stdout和stderr设置管道。
查看proc_open链接。
答案 1 :(得分:0)
你也可以这样做:
$result = `SOME_COMMAND_HERE`;
答案 2 :(得分:0)
您可以将shell_exec与netcat结合使用:
<?php
$output = shell_exec('echo "TRAC? TRACE1" | netcat -q 1 135.123.106.59 5025');
echo "<pre>$output</pre>";
?>
请注意-q 1
选项,这会导致netcat等待1秒钟以获得答案。 “set”命令不需要等待时间。此外,*IDN?
不需要等待时间but many other query commands do。
使用netcat进行此连接危险地靠近裸机。您可能希望编写一个捕获常见错误的shell脚本。然后,您可以使用shell_exec调用该脚本。
当然,最好的方法是采用Steve Sharples free library并修改他的cmd示例以满足您自己的需求。