タイムアウトは、アプリケーションが Poll メソッドを呼び出したときに発生します。

適用対象: .NET Core

症状

タイムアウトは、 System.Net.Security.SslStream クラスを使用し、 System.Net.Socket.Poll メソッドを呼び出して基になるソケットのデータをチェックするアプリケーションを実行するときに発生します。 この問題が発生すると、 Poll メソッドは false の値を返します。

原因

SslStream クラスは、アプリケーションがストリーム バッファーからデータを読み取るよりも高速にソケットからデータを読み取ります。

解決策

この問題を回避するには、以下のいずれかの方法を使用します。

  • アプリケーションで Poll メソッドを使用しないでください。 代わりに、 非同期プログラミング モデル (APM) パターンを使用して、データが到着したときにコールバックを取得します。
  • Poll メソッドを使用する必要がある場合は、メソッドが true の値を返すときに、別のPoll呼び出しを入力する前にすべてのストリーム バッファー データが読み取られたことを確認します。