Advertisement
rfmonk

reuse_socket_address.py

May 24th, 2014
505
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3.  
  4. import socket
  5. import sys
  6.  
  7. def reuse_socket_addr():
  8.     sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
  9.  
  10.     # get old state of the SO_REUSEADDR option
  11.     old_state = sock.getsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  12.     print "Old sock state: %s" %old_state
  13.  
  14.     # enable the SO_REUSEADDR option
  15.     sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  16.     new_state = sock.getsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR)
  17.     print "New sock state: %s" %new_state
  18.  
  19.     local_port = 8181
  20.  
  21.     srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  22.     srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  23.     srv.bind(('', local_port))
  24.     srv.listen(1)
  25.     print ("Listening on port: %s " %local_port)
  26.     while True:
  27.         try:
  28.             connection, addr = srv.accept()
  29.             print 'Connected by %s:%s' % (addr[0], addr[1])
  30.         except KeyboardInterrupt:
  31.             break
  32.         except socket.error, msg:
  33.             print '%s' % (msg,)
  34.  
  35. if __name__ == '__main__':
  36.     reuse_socket_addr()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement