Timeout realisieren...
-
Hallo,
wie könnte ich einen Timeout bei einem UDP-Socket realisieren? Und zwar muß ich über UDP (nicht TCP/IP) eine nachricht senden und erwarte danach eine Bestätigung von dem anderem Peer. Auf diese Bestätigung soll ich aber nur eine bestimmte Zeit warten, wenn keine kommt soll die Nachricht nochmal raus.
Mein Problem ist aber, dass die Methode "recvfrom(...)" solange blockiert, bis sie eine Nachricht kriegt. Wie kann ich das machen, dass ich nach einem bestimmten timeout aus der Funktion rausspringe?Danke im Voraus.
Gruß
Marius
-
- deine frage gehört entweder ins WinAPI oder Linux-Forum (je nachdem welches System du benutzt)
- du kannst non-blocking sockets verwenden (asynchrone Sockets mittels WinAPI)
- ja nach Socket-Version kannst du auch Timeouts definieren (z.b. mittels setsockopt() und SO_RCVTIMEO)
-
Hallo,
Standard-C++ kennt weder Sockets noch Netzwerkprotokolle. Und auch Timeouts sind dem Standard fremd.Sag mir also bitte welches BS, welchen Compiler und optional welche Klassenbibliothek du einsetzt.
-
Benutze Linux. Ich weiß, dass die Frage hier falsch war, deswegen habe ich sie auch unter Linux gestellt.
Danke trotzdem.
-
Ok. Hier geht's weiter:
Timeout bei sockets