Turn on SO_BROADCAST
option to send broadcast message:
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
Also replace following
s.connect(('192.168.0.255',63630))
s.send('0:0')
with:
s.sendto('0:0', ('192.168.0.255',63630))
According to Linux connect(2)
manpage:
If the socket sockfd is of type SOCK_DGRAM then addr is the address to which datagrams are sent by default, and the only address from which datagrams are received.
According to MSDN - connect (Windows Sockets)
:
For a connectionless socket (for example, type SOCK_DGRAM), the operation performed by connect is merely to establish a default destination address that can be used on subsequent send/WSASend and recv/WSARecv calls. Any datagrams received from an address other than the destination address specified will be discarded.