在PHP中,一边收听一个UDP端口,一边在另一个端口上广播

在PHP中,一边收听一个UDP端口,一边在另一个端口上广播,php,sockets,udp,home-automation,Php,Sockets,Udp,Home Automation,最近买了一些LightwaveRF家庭自动化产品-效果非常好!经过一点谷歌搜索和尝试和错误,我有几个PHP脚本,可以控制灯光 主脚本:control.php被传递一些参数,它接受这些参数并将其转换为字符串,以便在端口9760上使用UDP套接字进行广播。例如,正确的字符串应该是:“001,!R2D2F1 |” R2=2号房间 D2=装置2 F1=开(可接受值为F1=开,F0=关,或调光值介于2-32之间。32=100%) 这很好,但是“OK”消息随后会在UDP端口9761上传回-我需要能够侦听此O

最近买了一些LightwaveRF家庭自动化产品-效果非常好!经过一点谷歌搜索和尝试和错误,我有几个PHP脚本,可以控制灯光

主脚本:control.php被传递一些参数,它接受这些参数并将其转换为字符串,以便在端口9760上使用UDP套接字进行广播。例如,正确的字符串应该是:“001,!R2D2F1 |”

R2=2号房间 D2=装置2 F1=开(可接受值为F1=开,F0=关,或调光值介于2-32之间。32=100%)

这很好,但是“OK”消息随后会在UDP端口9761上传回-我需要能够侦听此OK,以便我可以链接多个light命令。如果您不等待并直接发送4个命令,通常只能得到一个或两个实际运行的命令

目前,我有一个文件listen.php,它监听端口9761并将消息打印到屏幕上。我可以通过以下方式将两者联系起来:

  • 运行listen.php使其开始侦听
  • 运行control.php once listen.php正在运行
  • 已排序。灯光更改,并打印OK,listen.php停止执行
然而,我需要这个过程是自动的,即开始监听,发送命令,等待确定,完成所有在一个脚本-但不知道如何做到这一点


任何想法都是被赞赏的。谢谢!

我认为你可能会因为PHP而有问题。PHP是单线程的,所以你会同时发出和接收问题。该死,哈哈!我想我必须用C++来做这个了。你能提供任何套接字的例子/简单的脚本吗?谢谢。做了一些研究。我不能用t吗?他的?