【发布时间】:2015-12-03 17:24:41
【问题描述】:
我正在尝试使用以下代码在 PHP 中创建多播服务器:
$this->sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($this->sock, IPPROTO_IP, MCAST_JOIN_GROUP, ['group' => '255.1.1.1', 'interface' => "eth0"]);
socket_set_option($this->sock, IPPROTO_IP, IP_MULTICAST_TTL, 2);
但我收到错误消息:
socket_set_option(): 无法设置套接字选项 [22]: 无效参数
在线设置MCAST_JOIN_GROUP。我似乎无法在网上找到很多与 PHP 多播服务器相关的信息。有没有人遇到过这个问题?
我在 ubuntu 14.04.2 VMWare 7.1.2 VM 上使用 PHP 5.5.9。我已验证 eth0 是 VM 上的主要网络接口。
【问题讨论】:
-
您使用的是什么版本的 PHP?
MCAST_JOIN_GROUP直到 5.4 才添加 -
知道了,已添加。谢谢。试图使问题尽可能简洁和直接,但我意识到这是有用的信息。
-
我认为您的问题是您的 MCcast 地址选择。见:stackoverflow.com/questions/236231/…
-
太棒了!非常感谢,如果您发布答案,我会接受。我的意思是输入 225。我的大脑将错误的 IP 地址排除在外,因为这是一种遥远的可能性。将其归功于 PHP 著名的高质量错误报告。 ;)
标签: php linux sockets multicast