TCPClient async/await C#

70
20 марта 2022, 09:00

У меня есть несколько девайсов. Программа должно эти устройства постоянно пинговать.

Столкнулся с проблемой - если соединение пропадает, то моя программа ничего не выводит, кроме первого опроса перед пропадание соединения, а если восстановить соединение, то через секунд 15 программа начнет выводить данные.

Мне нужно чтобы выводились постоянно и неудачные попытки соединения.

public async Task Start(string ip)
    {
        textBox1.AppendText("Begin");
        textBox1.AppendText("\r\n");
        Stopwatch watch = new Stopwatch();
        int i = 0;
        while (true)
        {
            watch.Restart();
            using (TcpClient tcp = new TcpClient())
            {
                tcp.SendTimeout = 1000;
                try
                {
                    await tcp.ConnectAsync("192.168.127.23", 10001);
                }
                catch (SocketException)
                {
                    Debug.Assert(!tcp.Connected);
                }
                watch.Stop();
                if (tcp.Connected)
                {
                    textBox1.AppendText(i.ToString() + ") " + watch.ElapsedMilliseconds.ToString() + " ms");
                    textBox1.AppendText("\r\n");
                }
                else
                {
                    textBox1.AppendText(string.Format("{0}) Offline", i));
                }
            }
            await Task.Delay(1000);
            i++;
        }
    }

Вот так это происходит.

READ ALSO
C# Узнать скорость вычесления на GPU (хешрейт)

C# Узнать скорость вычесления на GPU (хешрейт)

Всем доброго времени суток! Столкнулся я с такой вот проблемой: Есть необходимость при помощи C# Net20 рассчитать скорость видеокарты, так как...

104
Кастомный аллокатор

Кастомный аллокатор

Есть такой аллокатор:

73
Помогите с лямбда выражением для сортировки

Помогите с лямбда выражением для сортировки

Проблема с лямбда функцией, вроде написал сортировку вектора по остаткам по возрастанию, так, чтобы числа с одинаковыми остатками выводились...

112
(Считывание/Запись) работа с файлами С++

(Считывание/Запись) работа с файлами С++

У меня есть файл с 40 вопросамиМоя задача, поместить все 40 вопросов в вектрок, после чего, выводить от туда один рандомный вопрос

84