Труба "адресная система"
Может быть, я неправильно понимаю, как сделать канал в C++, таким образом http://linux.die.net/man/2/pipe, но как это сделать pipe
знаете куда отправлять или получать?
После обновления базы данных через страницу ajax я хочу, чтобы эта программа ajax отправила сообщение в мою программу websocket, чтобы обновить всех других соответствующих пользователей, и рекомендуется использовать pipe
вероятно, было бы лучше, как 2 программы на С ++ вызывают классы / функции друг друга на одном и том же Linux-боксе?,
Есть только один канал, и все программы читают его и проверяют сообщение?
Примечание: я использую fastcgi++ и websocket++, если это поможет.
1 ответ
Если вы хотите, чтобы несколько независимых процессов читали из канала, вам нужно использовать именованный канал, также известный как FIFO.
С использованием mkfifo
функция, один процесс создает файл в файловой системе (обычно в /tmp
). Этот файл может быть открыт для чтения или записи с использованием обычного open
системный вызов любого другого процесса, который имеет доступ к этому файлу.