Advertisement
rfmonk

udp_broadcast.py

Jan 23rd, 2014
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. # UDP client and server for broadcast messages
  4. # on a local LAN
  5.  
  6. import socket
  7. import sys
  8.  
  9. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  10. s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  11.  
  12. MAX = 65535
  13. PORT = 1060
  14.  
  15. if 2 <= len(sys.argv) <= 3 and sys.argv[1] == 'server':
  16.     s.bind(('', PORT))
  17.     print 'Listening for broadcasts at', s.getsockname()
  18.     while True:
  19.         data, address = s.recvfrom(MAX)
  20.         print 'The client at %r says: %r' % (address, data)
  21.  
  22. elif len(sys.argv) == 3 and sys.argv[1] == 'client':
  23.     network = sys.argv[2]
  24.     s.sendto('Broadcast message!', (network, PORT))
  25.  
  26. else:
  27.     print >>sys.stderr, 'usage: udp_broadcast.py server'
  28.     print >>sys.stderr, '   or: udp_broadcast.py client <host>'
  29.     sys.exit(2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement