此代码检查与套接字连接的 2 个客户端,其中一个首先按下按钮,连接和接收工作正常,但如果我单击 deelnemersTimer 和客户端字典中第二个客户端的按钮,它什么也不做,它会一直等到我点击字典中的第一个。我很确定这是错误的 foreach 中的等待,但是我需要更改什么才能使其正常工作?
clients 是一个包含客户端名称及其套接字的字典。deelnemersTimers 是一个字典,其中包含客户端名称和他们单击按钮的时间。deelnemer 也是荷兰语的参与者。
foreach (Deelnemer deelnemer in deelnemers)
{
deelnemersTimer[deelnemer.DeelnemerVoornaam + " " + deelnemer.DeelnemerNaam] = await CheckButtons(clients[deelnemer.DeelnemerVoornaam + " " + deelnemer.DeelnemerNaam]);
}
deelnemersTimer.Values.Min();
var eerste = deelnemersTimer.Where(p => p.Value == deelnemersTimer.Values.Min()).Select(p => p.Key).FirstOrDefault();
private async Task<long> CheckButtons(StreamSocket socket)
{
DataReader reader = new DataReader(socket.InputStream);
var actualStringLength = await reader.LoadAsync(1);
long time = stopwatch.ElapsedMilliseconds;
return time;
}