Как получить пакеты UDP, доставленные конкретным дочерним процессам в LInux? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть служба, которая состоит из родительского процесса (который открывает сокет UDP / дейтаграммы) и нескольких дочерних процессов, которые наследуют дескриптор файла сокета.Это позволяет многим дочерним процессам обслуживать один UDP-порт.

Когда пакет приходит, случайный дочерний процесс получает его из файлового дескриптора.

Я знаю, что существует больше соединений -ориентированный API для UDP, чем используемые мной вызовы recvmsg () и sendmsg (), но я не могу найти имя.

Есть ли способ заставить ядро ​​отправлять пакеты с определенного адреса / порта источникак конкретным дочерним процессам, когда все они используют файловый дескриптор?

(Мне не нужно указывать, какие исходные адреса / порты должны передаваться какому дочернему элементу, я просто хочу, чтобы он был стабильным, чтобы вся обработка конкретного клиента происходила в одном дочернем процессе.)

...