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