hey, thx for reply! the problem was myself, my firewall was blocking the incoming traffic for 255.255.255.255 *facepalm* i have also find a solution for interface binding, by the undocumented constant like this:
$address = 'udp://255.255.255.255:67';
$stream = stream_socket_server($address, $errno, $errstr,
\STREAM_SERVER_BIND);
$socket = socket_import_stream($stream);
socket_set_option($socket, SOL_SOCKET, SO_BINDTODEVICE, 'eth2');
regards,
volker.
On 06.03.22 21:02, Andrey Repin wrote:
Greetings, worker@xxxxxxx. In reply to Your message dated Friday, February 25, 2022, 16:13:39,Hi!how can i receive an UDP broadcast to 255.255.255.255 on an dedicated interface?this is my first try, but no luck, how can i enable the broadcast feature for my socket?$address = 'udp://10.88.0.255:20000'; # $address = 'udp://10.88.0.20:20000'; // not working # $address = 'udp://255.255.255.255:20000'; //also not working, so i missing the interface binding to?!For the starter, have you tried 0.0.0.0 for testing purposes?$context = stream_context_create([ 'socket' => [ 'so_broadcast' => 1, ], ]); $socket = @\stream_socket_server($address, $errno, $errstr, \STREAM_SERVER_BIND, $context);And remove @. If you want error handling - implement error handling. But don't mute errors.my code is working fine for any unicast packet, but broadcast isnt reache this socket. the excepted broadcast-packets can i see with tcpdump on my server-intrerface.any hints for my problem?regards, volker.