У меня есть C ++ сервер и клиент.
Я использую системный вызов poll () для мониторинга сокетов на сервере на предмет готовности к чтению, готовности к записи и ошибок.
Я вижу, что для некоторых соединений poll () обнаруживает ECONNRESET после отправки пакета данных и завершается неудачей на полпути. На стороне клиента я также вижу сообщение о состоянии ECONNRESET.
По сути, обе стороны сообщают, что удаленная сторона закрыла соединение.
Как это может случиться?
Как мне отладить это? Есть ли какие-либо протоколы слоя tcp, которые я могу включить?
Есть ли какие-либо протоколы слоя tcp, которые я могу включить?
Наиболее распространенным инструментом, позволяющим вам видеть, что происходит на ваших низкоуровневых транспортных каналах IP, является Wireshark.
С помощью этого инструмента вы можете детально проверить любые пакеты, отправленные и полученные через сетевой адаптер.
Еще один ТСРйитр для систем Linux.
Других решений пока нет …