¿Cómo configuro el tiempo de espera de una llamada socket.connect ()? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

Cómo configurar el tiempo de espera de conexión de socket 10 respuestas

Tengo una aplicación que se conecta a un host que podría estar inactivo. Si el host está inactivo, no quiero esperar los 30 segundos que demora el tiempo de espera. Estoy usando tomas de bloqueo en este momento.

He estado mirando socket.poll () y socket.select () pero prefiero tener una configuración de tiempo en el socket. No me importa si es una configuración que tengo que hacer en algún lugar del sistema. Además, me pareció entender que la encuesta y la selección no funcionan con la comunicación orientada a la conexión, ¿es correcto?

Si esto es absolutamente imposible, ¿cuál es una buena manera de obtener los resultados que quiero usando sondeo, selección o alguna otra técnica?