6

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

4

2 に答える 2

7

Linux の場合:

fcntl(fd, F_SETFL, O_NONBLOCK);

:

u_long on = 1;
ioctlsocket(fd, FIONBIO, &on);
于 2008-10-04T20:05:10.063 に答える
5

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

于 2008-10-05T02:24:59.407 に答える