私はこのストリームリーダーを持っています:
Boolean read = false;
while (wline!="exit")
{
while (!read || streamReader.Peek() >= 0)
{
read = true;
Console.Write((char)streamReader.Read());
}
wline = Console.ReadLine();
streamWriter.Write(wline+"\r\n");
streamWriter.Flush();
}
Read()メソッドのタイムアウトを設定する方法ありがとう
これがSystem.IO.StreamReader
、次にBaseStream
に設定します。
streamReader.BaseStream.ReadTimeout = 2000; //milliseconds, so 2 seconds
基になるストリームを処理する必要があります。したがって、TcpClientを使用している場合は、ReceiveTimeoutを設定するだけで済みます。
ReceiveTimeout プロパティは、Readメソッドがデータを受信できるようになるまでブロックする時間を決定します。この時間はミリ秒単位で測定されます。読み取りが正常に完了する前にタイムアウトになると、TcpClientはIOExceptionをスローします。デフォルトではタイムアウトはありません。
tcpClient.ReceiveTimeout = 5000;