質問

C / C ++では、WinSocksと* nixの両方でブロッキングソケットを非ブロッキングソケットにするにはどうすればよいですか。 select()が正しく機能するように。プラットフォーム固有のコードにプリプロセッサを使用できます。

役に立ちましたか?

解決

Linuxの場合:

fcntl(fd, F_SETFL, O_NONBLOCK);

Windows

u_long on = 1;
ioctlsocket(fd, FIONBIO, &on);

他のヒント

select()はブロッキングソケットで動作するはずです。 read()がすぐに戻るときに戻りますが、これは常に非ブロッキングソケットの場合です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top