Система QNX 4.25
Стоит задача:
бесконечно пинговать N компьютеров и собирать статистику о latency, % дошедших пакетов и.т.д.
Использую сырые сокеты.
Компьютеры пингую по очереди, то есть отправил пакет, дождался ответа - перешел к следуюещму.
Сокеты создаю следующим вызовом:
socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
Возникает проблема, что после чтения пакета, он не исчезает из «очереди».
То есть при следующем чтении опять считывается этот же пакет.
После этого, считывается следующий пришедший ответ.
В чем может быть проблема?
Может ли быть проблема в реализации TCP-стека, поскольку она достаточно старая.
Если нужно, могу привести код отправки и чтения.