Ограничить сокет RAW для прослушивания одним процессом за раз - PullRequest
0 голосов
/ 12 ноября 2018

Я работаю с RAW-сокетами, где мои приложения отправляют запросы и принимают ответ из одного и того же сокета. В одном сокете запущено несколько процессов, похожих на мое приложение. Все процессы выполняются в цикле while, как показано ниже

while true
do
application1;
application2;
application3;
application4;
my_application;
done

Проблема, с которой я сталкиваюсь, заключается в том, что когда какой-либо один процесс отправляет запрос на сокет, ответ будет обновляться всеми процессами, работающими в цикле. Так как это необработанный сокет, как дифференцировать ответы для каждого процесса. Я пробовал именованный двоичный семафор, но я наблюдал неопределенное поведение (например, мертвую блокировку).

Любые советы или предложения, чтобы дифференцировать ответ для каждого процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...