aims to wrap an obscure socket problem that is not being caught with a good exception handler but with the lower socket.timeout.
took out data = None
took out data = None
changed to readtimeouterror as per suggested