Главная страница
    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.006 c
11-1209206318
zldo
2008-04-26 14:38
2009.12.13
ListView в DLL


1-1228221714
Jorjia
2008-12-02 15:41
2009.12.13
ControlGrid - найти номер строки грида по расположенному на ней к


11-1209490183
=BuckLr=
2008-04-29 21:29
2009.12.13
Отрисовка ListView вручную


2-1256669978
Евгений Р.
2009-10-27 21:59
2009.12.13
Имитация WEB сервера


2-1256364118
Pascal96
2009-10-24 10:01
2009.12.13
Подскажите, пожалуйста )))





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский