How to use await in a loop-在我的情况下,可能是单个列表项没有发送数据,在这里,我认为会发生相同的错误。
当我尝试从for
中的客户端异步接收数据时,我遇到了问题,例如程序被阻塞,直到我从客户端获取数据为止。
我想在for
中并行接收下一个客户端。客户端数量大于10000。客户端可能无法发送数据。
我希望有人能提供建议。谢谢
//Recieve
while (true)
{
for (int i = 0; i < this.Clients[index].Count; i++)
{
var client = Clients[index][i];
string str = await client.Recieve();
}
}
//client.Recieve()
public StreamReader Stream { get; set; }
public Task<string> Recieve()
{
return this.Stream.ReadLineAsync();
}