我正在尝试在PHP中接收UDP组播流。 接收命令永远不会得到任何东西并且会一直等待。
我可以使用VLC播放器观看流,因此该流可以在我的计算机上访问。 如何使用PHP完成此操作,非常感谢您提供帮助。
这是我的代码。
<?php
error_reporting(E_ALL | E_STRICT);
//创建一个新的套接字
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
//我不确定这个命令。我认为我必须设置此选项才能开始接收数据包。
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;
?>