IPC в firebreath (увеличение C++)

Мне нужно отправить строку из одного процесса в другой с помощью Boost. На самом деле я пытаюсь создать подключаемый модуль firebreath (firebreath использует Boost в своей серверной части) который должен иметь возможность отправлять сообщения другому плагину firebreath. Я думаю, что это должен быть какой-то механизм событий; когда подключаемый модуль-отправитель отправляет строку, в подключаемом модуле-получателе должно быть запущено событие. Как лучше всего это сделать?


person umans    schedule 13.04.2011    source источник


Ответы (1)


некоторые предлагали использовать boost::ipc, другие предупреждали, что boost::ipc не работает в Windows. Я сам не пробовал boost::ipc, поэтому не знаю. Одним из вариантов может быть использование boost:: asio для создания локального сокета (сокет на локальном хосте) и запуск потока для прослушивания с одной стороны; другой вариант для окон - использовать именованные каналы. В прошлом я успешно использовал именованные каналы.

Главное помнить, что вы не можете заблокировать основной поток в FireBreath — если вы это сделаете, это заблокирует процесс браузера или, в лучшем случае, вызовет всплывающее диалоговое окно с вопросом, хотят ли они убить ваш плагин. Вместо этого создайте второй поток для обработки прослушивателя, а затем вызовите FireEvent, когда произойдет что-то, о чем ваша страница должна знать.

См. также Подходит ли Boost IPC?

person taxilian    schedule 13.04.2011