Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Самый надёжный способ межпроцессного взаимодействи 
V
    Опции темы
lv151
Дата 18.11.2011, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: 1
Всего: 2



Посоветуйте самый надёжный способ межпроцессного взаимодействия.
PM MAIL   Вверх
feodorv
Дата 18.11.2011, 17:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 9
Всего: 45



Гм. Несколько вопросов)))
  • а что входит в понятие требуемой надёжности?
  • порождает ли один процесс другой?
  • какое именно взаимодействие имеется в виду?



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
baldina
Дата 18.11.2011, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата(feodorv @  18.11.2011,  17:02 Найти цитируемый пост)
какое именно взаимодействие имеется в виду?

конкретизирую: 
- каков уровень взаимодействия, т.е. требуется просто канал для обмена, либо реализация протокола?
- взаимодействие локальное или возможно удаленное?
- подразумевается просто обмен потоком данных, либо интероперабельность?
PM MAIL   Вверх
lv151
Дата 18.11.2011, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: 1
Всего: 2



Посылка текстовых сообщений из одного процесса в другой.
1 клиент и 1 сервер.
Локальное.
PM MAIL   Вверх
vol4ek
Дата 19.11.2011, 00:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



может это сгодится.


Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  ____________________________________.cpp 47,21 Kb
PM MAIL ICQ   Вверх
vol4ek
Дата 19.11.2011, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



передача данных по анонимному каналу

Это сообщение отредактировал(а) vol4ek - 19.11.2011, 00:41
PM MAIL ICQ   Вверх
volatile
Дата 19.11.2011, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(lv151 @  18.11.2011,  16:36 Найти цитируемый пост)
самый надёжный способ межпроцессного взаимодействия. 

Они все надежны. Ядро работает надежно.

Правильный вопрос наверное должет звучать так:
Cамый удобный способ, для 
Цитата(lv151 @  18.11.2011,  22:27 Найти цитируемый пост)
Посылка текстовых сообщений из одного процесса в другой. ... Локальное. 


ответ:
    SendMessage (hwd, WM_COPYDATA, ...);
smile

Хотя есть и еще куча других способов.

Это сообщение отредактировал(а) volatile - 19.11.2011, 00:45
PM MAIL   Вверх
Lols
Дата 19.11.2011, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 21.10.2011

Репутация: нет
Всего: нет



Надежный - любой вариант, но мне нравится способ с передачей данных по анонимному каналу.
PM MAIL   Вверх
volatile
Дата 19.11.2011, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Lols, вы посты набираете чтоли?
Так глядишь и экспэртом станете через недельку, другую... smile 
PM MAIL   Вверх
lv151
Дата 19.11.2011, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: 1
Всего: 2



А MailSlots как вариант?
PM MAIL   Вверх
vol4ek
Дата 19.11.2011, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



ознакомился.
MailSlot и все-все-все
но использовать пока не доводилось. чем пайпы не устраивают?
PM MAIL ICQ   Вверх
bass
Дата 19.11.2011, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Реально не корректно заданный вопрос....
В одной программе  передавал с помощь майлслота указатели на переменные и использовал функцию writeprocessmemory....... И ПИСАЛ В ПРОЦЕСС НАПРЯМУЮ.....Так что ядро реально надежно работает...... Есть баги конечно но они настолько редко встречаются... В функциях передачи данных между процессами не встречал....)))
PM MAIL   Вверх
ZVano
Дата 1.12.2011, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 11.12.2006
Где: Украина, Кривой Р ог

Репутация: 1
Всего: 4



Цитата(vol4ek @ 19.11.2011,  16:52)
ознакомился.
MailSlot и все-все-все
но использовать пока не доводилось. чем пайпы не устраивают?

Если память мне не изменяет, то пайпы блокируют работу приложния ожиданием данных. Для них нужно создавать отдельный поток, который будет заниматься чтением\записью. Pipes использовать муторно.
MailSlots же работают по принципу почтового ящика - клиент без задержек положил, сервер без блокировок прочитал в основном потоке приложения. MailSlots реально очень легко использовать.
Т.е. MailSlots следует истользовать при передаче небольших сообщений, а pipes при передаче больших потоков данных которые нужно немедленно обработать (типа сокетов).
Что использовать - зависит от задачи и разработчика. smile

Кстати, тут забыли упомянуть FileMapping и сокеты.

IPC: основы межпроцессного взаимодействия/Обзор технологий

Это сообщение отредактировал(а) ZVano - 1.12.2011, 16:39


--------------------
НЕ ФЛУДИМ. Пользуемся кнопками "+" или "-" для выражения своего отношения к теме или сообщению.
Гуглим "Как правильно задавать вопросы"
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0744 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.