Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Взаимодействие между процессами


Автор: Coocky 13.2.2006, 16:51
Привет!
В частности между моей программой и моей же Windows службой..
Мне нужно обмениваться данными..

Автор: oleg1973 13.2.2006, 19:12
служба - в смысле ring0 драйвер?

Автор: _hunter 13.2.2006, 19:40
простейший ( и распространеннейший ) вариант -- садимся на кокой-нить и порт и все общение реализуем с помощью сокетов. проблема -- кто-то может занять этот порт.
можно на трубу сесть ( pipe ) и имя из GUID' а взять...

Автор: chaos 14.2.2006, 07:58
еще можно добавить: если необходим односторонний обмен то можно и мэйлслоты использовать

Автор: Coocky 14.2.2006, 12:17
Цитата(oleg1973 @ 13.2.2006, 19:12 Найти цитируемый пост)
служба - в смысле ring0 драйвер?

Нет..Обыкновенная служба Windows smile

Цитата(chaos @ 14.2.2006, 07:58 Найти цитируемый пост)
еще можно добавить: если необходим односторонний обмен то можно и мэйлслоты использовать


Цитата(_hunter @ 13.2.2006, 19:40 Найти цитируемый пост)
можно на трубу сесть ( pipe ) и имя из GUID' а взять...

а можно подробнее, про трубу я слышал(че не могу в мсдн найти..?), а про остальное..
дело в том, что по специфике работы программы, функциональность размещается в службе,служба работает с драйвером, но служба не имеет интерфейса, а нужно взаимодействие с пользователем.Получается -служба есть буфер. Мне нужно брать от службы кое что, и передовать ей в ответ на реакцию пользователя..

Автор: _hunter 14.2.2006, 12:42
основная функция -- CreateNamedPipe()
типа примера:
http://forum.vingrad.ru/index.php?showtopic=83468

Автор: Coocky 14.2.2006, 12:44
Ок..Попробую зацепится.
Но Pipe-лучший вариант?

Автор: _hunter 14.2.2006, 13:18
лучший ( IMHO ) сокеты -- ты сам отвечаеш за доставку пакетов.
а трубы -- простейший ( всю подноготную они скрывают ).

Автор: En_t_end 14.2.2006, 13:39
_hunter
Сокеты не рулят, придется с клиентами обьяснятся... как ты обьяснишь клиенту, что ему придется менять настройки файрвола ?

Автор: _hunter 14.2.2006, 14:20
обычно ( в том же оутпосте ) локальные связи ( smile ) по умолчанию разрешены.
+ тот же дядя нортон без проблем пользуется сокетами
да и Executive Software Undelete со своим сервисом ими общается
++ не видел я клиентов у которых стоит локальная стенка и за компом дуб сидит...

Автор: maxim1000 14.2.2006, 15:29
Цитата

а можно подробнее, про трубу я слышал(че не могу в мсдн найти..?), а про остальное..



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/interprocess_communications.asp

Автор: Coocky 14.2.2006, 15:33
maxim1000, сенкс.
Вот теперь бы услышать ответ. Что лучше-по цене качеству(см.легкость и универсальность в использовании).
Че-то упорно тянет к Именованым каналам.. smile

Автор: maxim1000 15.2.2006, 01:42
Цитата(Coocky @ 14.2.2006, 14:33 Найти цитируемый пост)
Че-то упорно тянет к Именованым каналам..

штука удобная
даже по локалке работает, что тоже приятно
но есть ограничения по совместимости для старых версий Windows...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)