Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

сообжение сервису.   Найти похожие ветки 

 
SergeyDon   (2005-07-13 17:57) [0]

Как послать сообщение сервису?
вообще это возможно, если у сервиса выключена опция:
Allow service to interact with desktop.

подскажите как лучше организовать общение сервиса и програм?


 
BiN ©   (2005-07-13 18:07) [1]

LPC, Pipes, MMF+events/mutex/semaphores


 
Fay ©   (2005-07-13 18:50) [2]

2 SergeyDon   (13.07.05 17:57)
Ч/з реестр


 
Fay ©   (2005-07-13 18:51) [3]

2 SergeyDon   (13.07.05 17:57)
Общение - это что?


 
Юрий Зотов ©   (2005-07-13 21:27) [4]

> SergeyDon   (13.07.05 17:57)  

> как лучше организовать общение сервиса и програм?

Если речь идет об изменении режимов (настроек) сервиса, то есть такой вармант - программа куда-то их пишет (например, в реестр) и перезапускает сервис, а тот при старте считывает настройки.


 
Fay ©   (2005-07-14 09:27) [5]

Юрий Зотов ©   (13.07.05 21:27) [4]
... , либо сервис сам отслеживает изменение реестра.


 
SergeyDon   (2005-07-14 12:26) [6]

Сообшения имелось в виду обмен информацией например
приложение: "Сервис, ты есть?" (думаю можно Mutex использовать)
приложение -> сервису : "Сервис, ты завис?"
сервис -> приложению : "Работаю ОК"
приложение -> сервису : "Дай статус потоков"
сервис -> приложению : "3 клиента на порту 8001, 2 клиента на порту 8003, 4 канала связи используется, поток расчёта 84% выполнено."

что то в этом духе.
реально сделано через сокет, но может есть идеи лучше?

to Bin: что значит LPC?
какой выигреш Pipe перед сокетом?


 
BiN ©   (2005-07-14 12:40) [7]

SergeyDon   (14.07.05 12:26) [6]

to Bin: что значит LPC?


Local Procedure Call - имхо, этот метод проще, чем использование именованных каналов. Но и работает он в пределах только одной рабочей станции.

какой выигреш Pipe перед сокетом?
Говорить о выигрыше в данном случае - некорректно. Им. каналы - это файловая система, а сокеты - лишь транспорт.


 
SergeyDon   (2005-07-14 13:06) [8]

что то туплю ничего не попадается по Local Procedure Call
ткните носом где почитать.


 
SergeyDon   (2005-07-14 13:11) [9]

а типа SendMessage(?, WM_COPYDATA, ...) можно тут как нибудь прикрутить?


 
BiN ©   (2005-07-14 13:15) [10]

http://www.google.ru/search?hl=ru&q=NtCreatePort+NtConnectPort&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=


 
Digitman ©   (2005-07-14 13:20) [11]


> SergeyDon   (14.07.05 13:11) [9]



> SendMessage(?, WM_COPYDATA, ...) можно тут как нибудь прикрутить


не получится.

ты же сам сказал, что опция взаимодействия с раб.столом не установлена

можно, конечно, воспользоваться PostThreadMessage(), но она во-первых асинхронная, во-вторых для ее вызова нужно знать id трэда-приемника сообщения, что достаточно проблематично в случае инф.обмена между сервисом и контролирующим его приложением

так что не задумывайся и бери пайпы на вооружение - это решение универсальное и в реализации совсем не сложное


 
Slym ©   (2005-07-14 15:05) [12]

Лучше Socket в этом плане не придумали
Достоинства:
1. Клиент может подключиться с другого компа!
2. Нет ограничений по доступу(правам) пример NamedPipe требует настройки в этом плане.
3. Нет ограничения по количеству клиентов (у NamedPipe ограничение выставляется в момент создания)
4. Нет привязки к ОС клиента (можно из под Linux по телнет если протокол текстовый)
5. Нет привязки к локальной сети, т.е. клиент может зайти из Инета
И прочее!


 
Slym ©   (2005-07-14 15:08) [13]

А реализовать HTTP протокол на соке не так иж тяжело...
Тогда савсем кайфа: ЗаходишЪ браузером, из дома...
Он у тебя пароль спрашивает... Ты вводишЪ... И стат у тебя на экране в красивых Gridах


 
Fay ©   (2005-07-14 18:08) [14]

2 Slym ©   (14.07.05 15:05) [12]

>> 1. Клиент может подключиться с другого компа!
Достоинство несомненное, по не отличительное.

>> 2. Нет ограничений по доступу(правам) пример NamedPipe требует настройки в этом плане.
>> 5. Нет привязки к локальной сети, т.е. клиент может зайти из Инета
Очень странная пара преимуществ.

Неясно одно - какого лешего для конфигурирования сервиса подключаться непосредственно к сервису большой толпой из разных сетей?


 
Slym ©   (2005-07-15 05:14) [15]

2 Fay ©   (14.07.05 18:08) [14]

Отнюдь не странная - а нормальная.
2. Можешь зайти от любого пользователя от любой операционки!
5. При правильных настройках и не пустой голове на плечах безопасность наладить можно (пароли там всякие), а можно и SSL присобачить-это плевое дело (опять таки при не пустой голове)



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
1-1123925524
Brainman
2005-08-13 13:32
2005.09.04
Источники света


3-1122030759
GekaNaz
2005-07-22 15:12
2005.09.04
Настройка Yaffil сервера


4-1121767285
bobah
2005-07-19 14:01
2005.09.04
Асинхронный ввод/выод com-порта


9-1115805485
Scener
2005-05-11 13:58
2005.09.04
Max height of HeightField


1-1124140320
Витёк
2005-08-16 01:12
2005.09.04
Обработка события входа курсора мыши на компонент и выхода!