Форум: "WinAPI";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Внизсообжение сервису. Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.011 c