2011-09-16 11 views

答えて

2

まだアクセスしていない場合は、ウィキペディアのBSD socketsページで、非ブロックとブロックソケットの違いを確認できます。

また、ioctlsocket()MSDN page for a few details on FIONBIOを見ることができます。

According to IBM

FIOASYNCは、非同期I/O通知の簡単なフォームを可能にします。この コマンドは、カーネルにI/Oが可能なときにSIGIOシグナルをプロセスグループまたは プロセスグループに送信させます。ソケット、ttys、および 疑似ttysだけがこの機能を実装します。

FIONBIOノンブロッキングI/Oを有効にします。この効果は、 O_NONBLOCKフラグをfcntlサブルーチンで設定するのと同様です。このコマンドの ioctlサブルーチンの3番目のパラメータは、ノンブロッキングI/Oが有効か無効かを示す が示す整数へのポインタです。 A の値が0の場合、非ブロッキングI/Oは無効になります。

私はこれが少し助けてくれることを願っています。

+0

しかし、多くのアプリケーションで両方のオプションが設定されていますが、なぜですか? – asker

+0

「両方のオプションを設定する」と言ったら、どういう意味ですか?彼らは2つの異なる動作を実行します。 –

+0

IMOは同じことをしているので、FIOASYNCまたはFIONBIOのいずれかを使います。あなたは彼らが別個の行動をしたと言いました。 – asker

関連する問題