Einen nicht blockierenden Socket für Winsocks und * nix
-
05-07-2019 - |
Frage
In C / C ++, wie würde ich wiederum eine Sperrbuchse in eine nicht blockierenden Socket in beiden Winsocks und * nichts; so dass select () würde korrekt funktionieren. Sie können den Pre-Prozessor für den plattformspezifischen Code verwenden.
Lösung
Unter Linux:
fcntl(fd, F_SETFL, O_NONBLOCK);
u_long on = 1;
ioctlsocket(fd, FIONBIO, &on);
Andere Tipps
select () sollte auf arbeiten blockieren Steckdosen. Es gibt, wenn ein Lese () würde sofort zurückkehren, was immer der Fall mit nicht-blockierende Sockets ist.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow