Труба "адресная система"

Может быть, я неправильно понимаю, как сделать канал в C++, таким образом http://linux.die.net/man/2/pipe, но как это сделать pipe знаете куда отправлять или получать?

После обновления базы данных через страницу ajax я хочу, чтобы эта программа ajax отправила сообщение в мою программу websocket, чтобы обновить всех других соответствующих пользователей, и рекомендуется использовать pipe вероятно, было бы лучше, как 2 программы на С ++ вызывают классы / функции друг друга на одном и том же Linux-боксе?,

Есть только один канал, и все программы читают его и проверяют сообщение?


Примечание: я использую fastcgi++ и websocket++, если это поможет.

1 ответ

Решение

Если вы хотите, чтобы несколько независимых процессов читали из канала, вам нужно использовать именованный канал, также известный как FIFO.

С использованием mkfifoфункция, один процесс создает файл в файловой системе (обычно в /tmp). Этот файл может быть открыт для чтения или записи с использованием обычного open системный вызов любого другого процесса, который имеет доступ к этому файлу.

Другие вопросы по тегам