Какой способ обмена данными в Си между двумя независимыми процессами Linux самый быстрый по времени?

Как быстрее всего передать 10000 сообщений "Привет" по цепочке из 100 независимых процессов Linux туда и обратно без их потери?


Ответы (1 шт):

Автор решения: Olegator36

Вариант 1: через файл

Создайте файл. В каждом процессе открывайте его и записывайте слово. Это хороший вариант, с учетом того, что ввод/вывод так и работает. Функция puts помещает массив байтов в stdout, файл для вывода.

Вариант 2: через сокеты(tcp)

Создайте один процесс сервер по адресу 127.0.0.1. Другие процессы будут подключатся к нему и пересылать слово.

Вариант 3: через сокеты(udp)

На локальном хосте потерь не будет, несмотря на ненадежность протокола. По сравнению с tcp не требуется подключение и скорость отправки будет выше.

→ Ссылка