在PHP中获取UDP多播流

在PHP中获取UDP多播流,php,udp,video-streaming,multicast,Php,Udp,Video Streaming,Multicast,我正在尝试用PHP接收UDP多播流。receive命令永远不会得到任何东西,并且会一直等待 我可以使用VLC播放器观看流,以便在我的机器上访问流。非常感谢您对如何使用PHP实现这一点的任何帮助 这是我的密码 <?php error_reporting(E_ALL | E_STRICT); //我不确定这个命令。我想我必须设置这个选项才能开始接收数据包 socket_set_option($socket, SOL_SOCKET, MCAST_JOIN_SOURCE_GROUP, array

我正在尝试用PHP接收UDP多播流。receive命令永远不会得到任何东西,并且会一直等待

我可以使用VLC播放器观看流,以便在我的机器上访问流。非常感谢您对如何使用PHP实现这一点的任何帮助

这是我的密码

<?php
error_reporting(E_ALL | E_STRICT);
//我不确定这个命令。我想我必须设置这个选项才能开始接收数据包

socket_set_option($socket, SOL_SOCKET, MCAST_JOIN_SOURCE_GROUP, array("group"=>"239.194.0.73","interface"=>"eth0","source"=>"239.194.0.73"));
$binded = socket_bind($socket, '127.0.0.1', 6073);
//接收数据

$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, MSG_WAITALL, $from, $port);
echo "Received $buf from remote address $from and remote port $port" . PHP_EOL;
?>
应该是

$binded = socket_bind($socket, '0.0.0.0', 6073);

否则,您将只接收来自本地主机的数据包。

是否使用php>=5.4.x?以下是IP和端口的m3u格式#demuef:0,News udp://@239.194.0.73:6073I我之前尝试过0.0.0.0,但当时我没有使用socket\u set\u选项命令。今天我将重试,看看是否成功$socket=socket_-create(AF_-INET、SOCK_-DGRAM、SOL_-UDP)$绑定=套接字绑定($socket,'0.0.0',6073)$rval=socket\u set\u选项($socket,getprotobyname(“ip”),MCAST\u JOIN\u组,数组(“组”=>“239.194.0.73”,“接口”=>0))$from=''$端口=0;socket_recvfrom($socket,$buf,12,MSG_WAITALL,$from,$port);echo“从远程地址$from和远程端口$port收到$buf”。PHP_EOL;
$binded = socket_bind($socket, '127.0.0.1', 6073);
$binded = socket_bind($socket, '0.0.0.0', 6073);