C Winsock recv Befehl nach einer Zeit stoppen

Diskutiere C Winsock recv Befehl nach einer Zeit stoppen im Developer Network Forum im Bereich Hardware & Software Forum; Ich habe unter C ein Problem wenn ich mit dem Befehl recv arbeite. Ich will beispielsweise nur eine bestimmte Zeit auf Antwort vom Server warten...
  • C Winsock recv Befehl nach einer Zeit stoppen Beitrag #1
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Ich habe unter C ein Problem wenn ich mit dem Befehl recv arbeite.
Ich will beispielsweise nur eine bestimmte Zeit auf Antwort vom Server warten un danach das Programm weiter laufen lassen.
Doch da recv ein Blocking call ist geht das ja nicht.
Hab schon hier geguckt,msdn_recv aber leider nichts gefunden. Unter flags steht auch nichts von Zeitabhängigkeit. Das
einzige was ich gefundne habe ist das hier:
Code:
Note  When issuing a blocking Winsock call, such as send, [B]recv[/B], select, accept, or
connect function calls, Winsock may need to wait for a network event before the call can
complete. [B]Winsock performs an alertable wait in this situation, which can be interrupted by an
asynchronous procedure call (APC) scheduled on the same thread[/B], and thereby create
unspecified results.
Was genau bedeutet das? Heißt das, ich kann den recv Vorgang abbrechen?
Hab schon hier geguckt asynchronous procedure call, werde daraus aber leider nihct schlau.
 
  • C Winsock recv Befehl nach einer Zeit stoppen Beitrag #2
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Kann mir da keiner helfen?:confused:
 
  • C Winsock recv Befehl nach einer Zeit stoppen Beitrag #3
Ultimate Construct

Ultimate Construct

Bekanntes Mitglied
Dabei seit
19.06.2006
Beiträge
4.137
Reaktionspunkte
0
  • C Winsock recv Befehl nach einer Zeit stoppen Beitrag #4
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
  • C Winsock recv Befehl nach einer Zeit stoppen Beitrag #5
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Nein wikipedia hilft auch nicht...
Aber die MSDN...
Schau Dir mal WSAAsyncSelect() an.
Oder verlege das Netzwerkhandling in einen eigenen Thread. Damit wird die Hauptanwendung nicht mehr blockiert.
 
  • C Winsock recv Befehl nach einer Zeit stoppen Beitrag #6
C

cc_ip

Bekanntes Mitglied
Dabei seit
08.03.2007
Beiträge
214
Reaktionspunkte
0
wie zero schon gesagt hat, threads sind die lösung, einfach nach der zeit die du warten willst thread schließen, fertig, easy going... (nicht sauber aber funzt)

und nein blocking calls kann man nur bedingt abbrechen, eine methode habe ich oben genannt...
 
Zuletzt bearbeitet:
Thema:

C Winsock recv Befehl nach einer Zeit stoppen

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben