2017-08-24 6 views
0

Auf einem blockierenden Socket kann MSG_WAITALL in einem Aufruf von recv() mit der Socket-Option SO_RCVTIMEO kombiniert mit einem Aufruf von setsockopt() auf dem Socket verbunden werden?MSG_WAITALL kombiniert mit SO_RCVTIMEO?

hier Mein Ziel ist es, entweder eine vollständige Nachricht zu empfangen oder einen Timeout/Fehler ...

+0

Was passiert, wenn Sie es versuchen? –

+0

Die Hardware, auf der es ausgeführt werden soll, ist noch nicht fertig. –

Antwort

0

Habe es jetzt getestet, und es funktioniert gut MSG_WAITALL und SO_RCVTIMEO auf blockierende Sockets zu kombinieren!

Ein Aufruf von recv() kehrt dann zurück, wenn die angeforderte Länge empfangen wurde oder wenn das konfigurierte Socket-Timeout abgelaufen ist (oder wenn ein Fehler/Interrupt aufgetreten ist).