適用対象: .NET Core
症状
タイムアウトは、 System.Net.Security.SslStream クラスを使用し、 System.Net.Socket.Poll メソッドを呼び出して基になるソケットのデータをチェックするアプリケーションを実行するときに発生します。 この問題が発生すると、 Poll メソッドは false の値を返します。
原因
SslStream クラスは、アプリケーションがストリーム バッファーからデータを読み取るよりも高速にソケットからデータを読み取ります。
解決策
この問題を回避するには、以下のいずれかの方法を使用します。
- アプリケーションで
Pollメソッドを使用しないでください。 代わりに、 非同期プログラミング モデル (APM) パターンを使用して、データが到着したときにコールバックを取得します。 -
Pollメソッドを使用する必要がある場合は、メソッドがtrueの値を返すときに、別のPoll呼び出しを入力する前にすべてのストリーム バッファー データが読み取られたことを確認します。