Я пишу клиент-серверные программы, использующие доменный сокет unix для связи между двумя сторонами. Требование:
- Сервер открывает абстрактный сокет по заданному адресу и прослушивает его. С помощью некоторых триггеров сервер может прекратить прослушивание этого.
Клиент должен отслеживать, что сервер прослушивает по указанному адресу или нет
- , если сервер прослушиваетна сокете затем отправьте запрос на регистрацию на сервер
- , если сервер закроет сокет , затем выполните некоторые действия по очистке ...
Чтобы проверить, слушает сервер или нет, мое решение:
Периодически создать сокет и соединиться с адресом сервера , если успешно, то означаетэтот сервер прослушивает, и наоборот для любого случая ошибки.
Но решение кажется слишком трудоемким, если интервал проверки слишком мал.
Тогда мойвопрос: есть ли у нас какой-либо метод, например, регистрация некоторого обратного вызова в системе и получение уведомления всякий раз, когда какой-либо процесс запускает / останавливает прослушивание по указанному адресу? или какое-нибудь другое лучшее предложение ... ??
Большое спасибо,