使用套接字的 PHP 多播服务器

标签 php linux sockets multicast

我正在尝试使用以下代码在 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(): unable to set socket option [22]: Invalid argument

在线设置 MCAST_JOIN_GROUP。我似乎无法在网上找到很多与 PHP 多播服务器相关的信息。有没有人遇到过这个问题?

我在 ubuntu 14.04.2 VMWare 7.1.2 VM 上使用 PHP 5.5.9。我已验证 eth0 是 VM 上的主要网络接口(interface)。

最佳答案

我认为您的问题是您的 MCcast 地址选择。请参阅:How do I choose a multicast address for my application's use? – 萨米奇

我打算输入 225。我的大脑阻止了错误的 IP 地址,甚至是一个遥远的可能性。 – 罗布

关于使用套接字的 PHP 多播服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34072383/

相关文章:

php - 运行 Nginx 和 PHP5-FPM 时无法更新到最新的 PHPMyAdmin

php - 如何将 twitter api 与 "http basic auth"一起使用?

php - 许多休眠的 httpd 连接

c - 理解 htonl() 和 ntohl()

.net - TCP星型网络对等连接策略

Java NIO SocketChannel IOException : Broken pipe

php - 使用 php 生成脚本或使用 json

c - 从文件系统中随机选择一个文件

c - 如何在服务器客户端程序上为 gcc 创建 makefile?

php - 通过 php 的定界符本身拆分字符串