Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.12.13;
Скачать: [xml.tar.bz2];

Вниз

Взаимодействие с service (службой)   Найти похожие ветки 

 
Nucer   (2008-05-15 15:36) [0]

Пишу службу, необходимо обеспечить связь приложения с этой службой. Каким образом? SendMessage/PostMessage я так понимаю отпадают. Использовать TCP/IP?


 
Сергей М. ©   (2008-05-15 15:56) [1]


> SendMessage/PostMessage я так понимаю отпадают


Отпадают, если корреспонденты разнесены по разным хостам или сервис не взаимодействует с рабочим столом.


> Использовать TCP/IP?


Как универсальный на все случаи жизни вариант - да.

При определенных условиях можно также воспользоваться PostThreadMessage, NamedPipes, MMF


 
Leonid Troyanovsky ©   (2008-05-15 22:04) [2]


> Сергей М. ©   (15.05.08 15:56) [1]

> При определенных условиях можно также воспользоваться PostThreadMessage

Для этого сервис должен быть GUI.
В любом случае ControlService лучше.

--
Regards, LVT.


 
DVM ©   (2008-05-15 22:41) [3]


> При определенных условиях можно также воспользоваться PostThreadMessage

И главное из этих условий, выполнение потока службы на том же десктопе, что и вызывающий PostThreadMessage поток. Что не всегда возможно. Способ плохой.


> Nucer   (15.05.08 15:36)  

Вообще варианты такие:
1) Сокеты - самый универсальный и кроссплатформенный механизм.
2) Named Pipes - удобный, но не всегда механизм.
3) RPC - весьма мудреный способ
4) DCOM - упрощение от предыдущего
5) Совместно используемая память, в том числе MMF
6) Сообщения

Я бы сокеты выбрал.


 
DVM ©   (2008-05-15 22:45) [4]


> Для этого сервис должен быть GUI.

Для этого должна быть лишь очередь сообщений у потока. А она будет автоматически создана, как только будет вызвана хотя бы одна функция GDI или USER. А поток само собой должен выбирать сообщения из очереди.

Причем тут GUI? Окна к  PostThreadMessage отношения не имеют.


 
Leonid Troyanovsky ©   (2008-05-15 23:38) [5]


> DVM ©   (15.05.08 22:45) [4]

> Причем тут GUI? Окна к  PostThreadMessage отношения не имеют.

А я говорил про окна?
У сервиса д.б. цикл обработки сообщений.
Любой же вызов user32, как было справедливо отмечено, сделает поток гуевым.
Если же этот поток - не первичный, то место этому сервису в кунсткамере,
а авторам - в зале славы ;)

Короче говоря, RTFM: $APPTYPE

--
Regards, LVT.


 
имя   (2008-12-08 23:14) [6]

Удалено модератором



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

Форум: "Основная";
Текущий архив: 2009.12.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
15-1255394936
brother
2009-10-13 04:48
2009.12.13
Посоветуйте программу для поиска в файлах по заголовкам


2-1256887537
d@nger
2009-10-30 10:25
2009.12.13
Не срабатывает триггер (Firebird)


2-1256104735
Qwerg_ntgl
2009-10-21 09:58
2009.12.13
Загрузка в DbGrid в PickList из текстового файла


15-1255284553
Denis123
2009-10-11 22:09
2009.12.13
Проверка сложности пaроля


2-1256278721
Drowsy
2009-10-23 10:18
2009.12.13
Multiple rows in singleton select.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский