1

一度だけ、新しい接続が作成されたときに、ストリームを調べて、接続がSSL接続であるかどうかを判断したいと思います。これを行うには、MSG_PEEKフラグを指定してrecv()を使用します。問題は、SSL接続ではなく、最初の着信データがない接続の場合、recvが数秒間ブロックすることです。どうすれば修正できますか?

4

1 に答える 1

5

呼び出しをブロックしたくない場合は、MSG_DONTWAITフラグも指定できます(POSIXではありませんが、広く実装されています)。ただし、初期データがまだ到着していないSSL接続と非SSL接続?

これを確実に行うには、とにかくデータの最初の部分が到着するのを待つ必要があるようです。

于 2012-11-01T00:59:38.077 に答える