У меня следующий сценарий:
Сервер должен быть Daemon.Другие приложения должны быть клиентами.Многие клиенты должны взаимодействовать с сервером, чтобы выполнить свою задачу сервером одновременно.Это такие задачи, как копирование файла, удаление файла и т. Д.
Мое решение: на сервере есть 5 рабочих потоков, каждый из которых содержит именованный канал.Состояние доступности каждого канала сохраняется в структуре общей памяти.Когда клиент хочет установить связь с сервером, он проверяет, какой канал доступен из общей памяти, затем открывает этот канал и отправляет свое сообщение в этот канал, соответствующий рабочий поток серверов сервера, этот запрос клиента.Этот рабочий поток отправляет состояние запроса (Успешно / неуспешно) по этому каналу, чтобы клиент узнал о состоянии последней операции.
Насколько я знаю, каналы на Mac OS x являются однонаправленными и не имеют возможности созданиянеограниченное количество экземпляров, таких как Windows.
Какой механизм лучше всего подходит для такого рода общения?
Спасибо, Вайбхав.