получать многоадресные рассылки с PHP7 на Raspberry

Я отправляю многоадресную рассылку через PHP (v7.0.8-5), пока это выглядит хорошо.
запакованный, на втором ПК без Firewall

Моя проблема в том, что я не могу получить пакет.

КОД ХОРОШО, работает без брандмауэра

это код

<?php
error_reporting(E_ALL | E_STRICT);
$mesg = "123456789012" ; //the msg i want to send

$ip = "228.5.6.7"; //the ip to send
$port = 14446 ;    //the port to send

//build the socket
$grpparms = array("group"=>$ip,"interface"=>"eth0") ;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock,IPPROTO_IP,MCAST_JOIN_GROUP,$grpparms);

if($argv[1] == 'r'){ //read multicasts
$from = '';
$dest_port = 0;

$binded = socket_bind($sock, '0.0.0.0',$port);
socket_recvfrom($sock, $buf, 12, 0, $from, $dest_port);
echo "Received $buf from remote address $from and remote port $dest_port" . PHP_EOL;
}
if ($argv[1] =='w'){ //write multicasts
socket_sendto($sock, $mesg, strlen($mesg), 0, $ip,$port);
echo "Send '$mesg' to $ip at port $port".PHP_EOL;
socket_close($sock) ;
}
?>

Я называю это параметром «r» для чтения / получения и «w» для отправки / записи многоадресных сообщений.

Я запускаю этот сценарий поверх ssh на двух разных малинах (версии 2b) на одном и том же коммутаторе. Один с ‘r’, а другой с ‘w’.

1

Решение

Я не могу проверить это прямо сейчас, но изменить $dest_port в socket_recvfrom() в $port или измените значение $dest_port от 0 в 14446 и попробуйте еще раз, пожалуйста.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]