両方のオプションを使用して、ソケットを非ブロッキング/非同期にすることができるようです。
または、ノンブロッキングと非同期の違いは何ですか?
ウィキペディアのBSD ソケットページで 、ノンブロッキング ソケットとブロッキング ソケットの違いを確認できます。
また、FIONBIO の詳細については、ioctlsocket() MSDN ページを参照してください。
FIOASYNC 単純な形式の非同期 I/O 通知を有効にします。このコマンドは、I/O が可能な場合に、カーネルがプロセスまたはプロセス グループに SIGIO シグナルを送信するようにします。ソケット、tty、および疑似 tty のみがこの機能を実装しています。
FIONBIO ノンブロッキング I/O を有効にします。この効果は、fcntl サブルーチンで O_NONBLOCK フラグを設定するのと似ています。このコマンドの ioctl サブルーチンの 3 番目のパラメーターは、非ブロッキング I/O が使用可能か使用不可かを示す整数へのポインターです。値 0 は、ノンブロッキング I/O を無効にします。
これが少しお役に立てば幸いです。