Хабы: .NET, C#
Некоторое время назад у одного из клиентов начало сбоить desktop-приложение, в разработке которого я участвовал. Проблему локализовать не получалось очень долго - в том числе потому, что она никак не воспроизводилась на компьютерах и разработчиков, и тестировщиков.
И лишь спустя время один опытный член нашей команды, вооружившись Wireshark, обнаружил, что у клиента есть проблемы с локальной сетью. После имитации потери пакетов внутри нашей сети, мы смогли локализовать проблему.
Эта заметка о том, как без использования Wireshark добавить в приложение .NET Framework / .NET 5+ для Windows код получения статистики TCP-соединения (количество перезапрошенных (retransmitted) и переупорядоченных (reordered) байт, а также некоторую другую информацию).
Вполне вероятно, эти данные пригодятся и вам - если вы используете долгоживущие или "бесконечные" TCP-соединения (по типу Twitter Streaming API).
Итак, приступим!
Читать далее