Исходные данные: сервер при принятии UDP-пакета начинает его обрабатывать (просто ставлю небольшую задержку), после чего отправляет пакет обратно клиенту.
Проблема: если в момент обработки пакета на сервер придет еще пакет, он просто не будет перехвачен программой. Каким образом сохранять его в буфере, чтобы можно было приступить к его обработки после того как программа закончит с текущим? Ну либо как обрабатывать их оба одновременно?
P.s. нужно использовать именно UDP, т.к. это raw-сокеты, и мне нужно изменять поля в заголовке. Задержка также должна быть (пакет не может быть мгновенно отправлен обратно).
Заранее благодарен
none7, почитал, не знал об этом, попробую) интересно, там просто при следующем вызове recvform() будет получен этот пакет из буфера, так просто? (пока нет возможности проверить)
Если вы не работаете с сетевым адаптером напрямую, то ваша сетевая карта должна по умолчанию сохранять все пакеты в буферы принятия и отправки и последовательно "отдавать" их на верхние уровни. Скорее всего, ваша программа просто неправильно читает этот буфер.