| Newsgroups |
php.general |
| Message-ID |
<[email protected]> |
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,[email protected].
> 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.
>
>