Я занимаюсь программой сканирования портов в рамках школьного проекта, в котором я использую необработанные сокеты. Мое понимание таково:
При использовании многопоточности с необработанными сокетами каждый pthread НЕ получает копию пакетов, видимых NIC. Следовательно, для обработки всех различных потоков мне понадобится принимающий поток, который передает сообщения в правильный поток.
Это правильно?
РЕДАКТИРОВАТЬ: Моя гипотеза заключается в том, что ОС отправляет пакет только один раз в процесс. Если неправильный пакет получил пакет, пакет может быть пропущен.