Мне нужно настроить локальный IPC между клиентом и сервером. Это случай одного сервера и нескольких клиентов, и данные должны обмениваться в обоих направлениях. Клиент - это команда, которая отправляет параметры команды, а сервер извлекает данные и отправляет их клиенту. Клиент выводит на консоль вывод, полученный с сервера.
Данные, отправленные командой, малы, но данные, отправленные сервером команде, огромны (~ 11 МБ). Существующий дизайн в Windows отправляет данные кусками по 65 килобайт с использованием именованных каналов. Серверу необходимо отправлять данные нескольким клиентам одновременно, так как обычно выполняются команды с разными параметрами одновременно с разных терминалов.
Я пропустил FIFO, поскольку данные из нескольких процессов могут чередоваться для сообщений размером более 4096 байт. Пожалуйста, поправьте меня, если я ошибаюсь.
Учитывая два нижеприведенных критерия, что было бы лучшим выбором: очереди сообщений POSIX или сокеты домена unix?
- размер (65К) сообщения
- данные от нескольких клиентов не должны чередоваться. Клиент должен получать только данные, адресованные этому клиенту.
Пожалуйста, дайте мне знать, если вам нужны более подробные сведения.
С уважением, Рохини Чандра