【发布时间】:2013-01-17 07:13:08
【问题描述】:
我有一个互联网流,我正在从中创建阅读器
var reader = new BinaryReader(stream);
然后我正在读取字节以搜索“同步字”
if (reader.ReadByte() != magic[i++])
但有时我对ReadByte() 有疑问。我预计如果阅读器无法从流中读取字节,它会抛出异常,但它不会抛出任何东西。 (服务器没有关闭,只是不提供字节)。
所以我的问题是 - 如何让这个方法超时? 我可以将 TPL 与 CancellationToken 一起使用,但不明白如何在需要时取消方法 ReadByte。
【问题讨论】:
-
你是如何获得流的?您可能可以在那里设置超时。
-
我使用 TcpClient 获取流 client.GetStream();
标签: .net windows-phone-7 stream binaryreader request-cancelling