我有以下代码来阅读time.nist.gov的时间:
TcpClient client = new TcpClient();
var result = client.BeginConnect("129.6.15.28", 13, null, null);
var success = result.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(1));
if (!success || !client.Connected)
// Timeout
else{
streamReader = new StreamReader(client.GetStream());
var response = streamReader.ReadToEnd();
//code
}
问题在于,有时ReadToEnd会被无限期冻结,我认为因为它没有到达和结束。
是否可以为此操作设置超时?
或许是更好的选择来阅读服务器响应?
感谢。