Python socket connection timeout Python socket connection timeout python python

Python socket connection timeout


You just need to use the socket settimeout() method before attempting the connect(), please note that after connecting you must settimeout(None) to set the socket into blocking mode, such is required for the makefile .Here is the code I am using:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.settimeout(10)sock.connect(address)sock.settimeout(None)fileobj = sock.makefile('rb', 0)


If you are using Python2.6 or newer, it's convenient to use socket.create_connection

sock = socket.create_connection(address, timeout=10)sock.settimeout(None)fileobj = sock.makefile('rb', 0)


For setting the Socket timeout, you need to follow these steps:

import socketsocks = socket.socket(socket.AF_INET, socket.SOCK_STREAM)socks.settimeout(10.0) # settimeout is the attr of socks.