Какой способ обмена данными в Си между двумя независимыми процессами Linux самый быстрый по времени?
Как быстрее всего передать 10000 сообщений "Привет" по цепочке из 100 независимых процессов Linux туда и обратно без их потери?
Ответы (1 шт):
Автор решения: Olegator36
→ Ссылка
Вариант 1: через файл
Создайте файл. В каждом процессе открывайте его и записывайте слово. Это хороший вариант, с учетом того, что ввод/вывод так и работает. Функция puts помещает массив байтов в stdout, файл для вывода.
Вариант 2: через сокеты(tcp)
Создайте один процесс сервер по адресу 127.0.0.1. Другие процессы будут подключатся к нему и пересылать слово.
Вариант 3: через сокеты(udp)
На локальном хосте потерь не будет, несмотря на ненадежность протокола. По сравнению с tcp не требуется подключение и скорость отправки будет выше.