Python UDP Broadcast not sending Python UDP Broadcast not sending python python

Python UDP Broadcast not sending


You do not need to connect() to a UDP socket, instead:

cs.sendto(data, ('255.255.255.255', 5455))

EDIT: This seems to work for me:

from socket import *cs = socket(AF_INET, SOCK_DGRAM)cs.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)cs.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)cs.sendto('This is a test', ('255.255.255.255', 54545))

On another machine I ran tcpdump:

tcpdump -i eth1 port 54545 -XXlistening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes14:04:01.797259 IP 10.22.4.45.33749 > 255.255.255.255.54545: UDP, length 140x0000:  ffff ffff ffff f0de f1c4 8aa6 0800 4500  ..............E.0x0010:  002a 0000 4000 4011 2c81 0a16 042d ffff  .*..@.@.,....-..0x0020:  ffff 83d5 d511 0016 fe38 5468 6973 2069  .........8This.i0x0030:  7320 6120 7465 7374 0000 0000            s.a.test....

You can see the text in the payload. As well as the broadcast Ethernet and IP dst addrs.