Tob*_*bia 14 c# sockets timeout streamreader
我有这个streamreader:
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();
}
Run Code Online (Sandbox Code Playgroud)
如何设置Read()方法的超时?谢谢
Don*_*ott 25
如果是System.IO.StreamReader,则将其设置为BaseStream:
streamReader.BaseStream.ReadTimeout = 2000; //milliseconds, so 2 seconds
Run Code Online (Sandbox Code Playgroud)
您需要处理基础流.因此,如果您使用的是TcpClient,则只需设置ReceiveTimeout:
所述ReceiveTimeout属性确定的时间,该读取方法将阻塞,直到它能够接收数据量.此时间以毫秒为单位.如果超时在Read成功完成之前到期,则TcpClient会抛出IOException.默认情况下没有超时.
tcpClient.ReceiveTimeout = 5000;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23577 次 |
| 最近记录: |