NetworkStream.ReadAsync的ReadTimeout

问题描述 投票:1回答:1

NetworkStream.ReadAsync任务何时完成?它一接收到指定长度的数据,就可以吗?

如果是,它将返回0吗?然后CancellationToken可以用作ReadTimeout,这是仅可用于同步操作的属性,对吧?

c# sockets async-await timeout networkstream
1个回答
0
投票
如果基础套接字被拆除,被对等设备或其他中间设备(例如,有状态的防火墙)重置,则将获得IOException。

TCP连接可以永远保持打开状态,而无需发送或接收任何数据。通常,(总是?)中间的防火墙看到没有数据的连接,并认为它很旧,因此它们发送重置信息。

© www.soinside.com 2019 - 2024. All rights reserved.