0
Ich verwende die Funktion connect
in Linux. Wenn es keine Verbindung herstellen kann, wartet es immer auf eine Verbindung. Was ich tun möchte:Nicht blockierende Verbindung in Linux
- Try
- Wenn Erfolg zu verbinden, wird sie blockiert.
- Wenn nicht, wird es versuchen, für zwei Stunden zu verbinden
- Wenn nach zwei Stunden es nicht gelungen ist zu verbinden, wird es aufhören zu versuchen und nicht mehr blockieren.
Wie soll ich das tun?
Teil meines Code:
serv_addr.sin_port = htons(_params->port);
_log.debug("connecting ...");
int co = connect(_socket,(struct sockaddr *) &serv_addr,sizeof(serv_addr));
if (co < 0)
{
return false;
}
_log.debug("connected ");
Sie könnten veranlassen, dass ein Signal gesendet wird, wenn eine Zeitüberschreitung z. 'alarm()' oder 'timer_create()'. – EOF