Am 19.12.2013 um 16:39 schrieb jannik.laval <jannik.laval@gmail.com>:

And here is my small example code:

udpSocket := Socket newUDP.
udpSocket setOption: 'SO_BROADCAST' value: true.
udpSocket getOption: 'SO_BROADCAST'.
udpSocket receiveDataTimeout: 15.

There are operating system specific problems. You need to check if you need specific priviledges even for receiving packets. On linux systems there was once something about the binding interface you use. You need either specific (IP address) or wildcard (0.0.0.0) to make it operate. But can not recall which it was. 

Norbert


Jannik

On Dec 19, 2013, at 4:29 PM, jannik.laval <jannik.laval@gmail.com> wrote:

Ok, here is my situation:

- I have a Lego Mindstorm that broadcast a UDP message every 10 seconds.
- With Wireshark I can see the UDP message, so no problem with that.
- I tried to set the option SO_BROADCAST, it does not work anymore.

Any other idea ?

Jannik

On Dec 19, 2013, at 4:14 PM, Stephan Eggermont <stephan@stack.nl> wrote:

Norbert wrote:
>To send or receive a broadcast packet you need to put special options on the socket on the native side (setsockopt). You need to >look if the SO_BROADCAST option is mentioned anywhere. If not it won�t work without adding them. And for sending them you >need almost special privileges on the system. This is not a �user feature�. 

And even though it is "the right thing" for lots of situations, your network is also very likely to not do the right thing
with broadcast packets. Etsy decided on using bittorrent protocol to update their production servers indexes, because they
found it too difficult to get their network to do the right thing. They found that their switches were basically livelocked
while dealing with broadcast packets. 


If you want the broadcast to travel a little further, the routers need to be configured not to drop the packets.

Stephan