SSL 接続をバッファリングしている BIO オブジェクトがあります。接続をポーリングして、ブロックせずに読み取りを呼び出せるかどうかを確認するにはどうすればよいですか?
OpenSSL Web サイトには次のように記載されています。
ソケットをブロックする際に使用されるテクニックの 1 つは、システム コール (select()、poll() など) を使用してデータが利用可能になるタイミングを判断し、read() を呼び出してデータを読み取ることです。BIO と同等のもの (基礎となる I/O 構造体で select() を呼び出し、次に BIO_read() を呼び出してデータを読み取る) は使用しないでください。 SSL BIO の場合) は、基礎となる I/O 構造に影響を与え、結果としてブロックされる可能性があります。代わりに、select() (または同等のもの) を非ブロック I/O と組み合わせて、連続する読み取りがブロックではなく再試行を要求するようにする必要があります。
ここでの問題は、他の場所で行われた接続のタイプを変更できないことです。私の目標を達成する別の方法はありますか?