socket() connect() timeout einstellen
-
Nochmal verschieben, hat so Spass gemacht.
Schau mal das an vlt. Hilfts.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/select_2.asp
-
Den connect timeout kann man nur systemweit in der Registry einstellen...
-
Abend,
setze den Socket vor connect in den nicht blockierenden Zustand mit setsockopt.
Lasse ein connect auf den socket los.
connect wird Dir einen Fehler liefern - WSA_WOULDBLOCK oder so. Ignorieren!
lasse ein select auf den socket los mit dem gewünschten TimeOut
lassen ein getsockopt mit SO_ERROR auf den socket los falls select fehlschlägt
oder in den Timeout läuft.Viel Erfolg
RB
-
Hallo,
zuerst mal danke für die Hilfe.
Also wenn ich das richtig verstanden habe:
- Socket erstellen
- setsockopt()
- daraufhin bringt connect() einen Fehler
- select() mit Timeoutjetzt nur meine Frage...welche Parameter stell ich bei setsockopt() und select() ein?
Danke
MfG Dippi
-
Mit ioctlsocket, Kommando FIONBIO, stellst du den Socket auf non-blocking. setsockopt ist hier falsch.
Socket bei select ins writefds tun und den Timeout angeben.
-
zuerst mal danke
was sind denn die anderen Parameter bei der select() ??
Brauch ich dann die connect() eigentlich noch?Danke
MfG Dippi
-
was sind denn die anderen Parameter bei der select() ??
Steht in der Doku.
Brauch ich dann die connect() eigentlich noch?
Ja.
-
mmmh
-
@Buddy Love: Warum postest du immer so sinnfreie Beiträge?
-
weil ihn ja niemand daran hindert.