【问题标题】:PHP Multicast server using sockets使用套接字的 PHP 多播服务器
【发布时间】: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


【解决方案1】:

我认为您的问题是您的 MCcast 地址选择。见:How do I choose a multicast address for my application's use? – Sammitch

我的意思是输入 225。我的大脑将错误的 IP 地址排除在外,因为这是一种遥远的可能性。 - 罗伯

【讨论】:

    猜你喜欢
    • 2012-07-02
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2014-03-10
    相关资源
    最近更新 更多