Здравствуйте!
Мне требуется реализовать обмен текстовыми сообщениями между несколькими процессами. Обеспечить возможность отправки сообщения сразу нескольким адресатам. Реализовать подтверждение приёма сообщения адресатом или, в случае потери сообщения, повторную его передачу. Взаимодействие выполнить с помощью страничного файла.
Возник ряд вопросов..
Пожалуйста, помогите разобраться!
Сначала хочу получить список активных процессов, вывести, скажем, на ListBox и выбрать процессы, которые будут приёмниками текстовых сообщений (а как можно в ListBox осуществить множестсвенный выбор? если вообще можно).
Далее можно из моего приложения открыть файл.
Теперь в процессе-передатчике создаём в памяти проекцию открытого дискового файла и отображаем её на адресное пространство процесса-отправителя с помощью CreateFileMapping(), где будем использовать дескриптор открытого файла...
Процессы же приёмники (выбранные в ListBox) по нажатию кнопки должны отобразить проекцию страничного файла на своё адресное пространство и прочитать данные, которые подлежат передаче...а как это осуществить? мне на понятно...И как это осуществить с учётом того, что получателей должно быть несколько??
И как я понимаю, процесс-приёмник не должен начинать читать из памяти данные раньше, чем их туда запишет отправитель...А как это должно выглядеть? (использовать объекты синхронизации?)
И последнее...В каком виде можно организовать подтверждение приёма сообщений, при чём чтоб было понятно, от какого процесса-приёмника пришло это подтверждение??
Межпроцессное взаимодействие с помощью страничного файла, VC++ 2008 EE |