3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
.NET 4.x

Windows службы

23.11.2011, 19:59. Показов 3669. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Вопрос касается работы программы в фоновом режиме. Вернее будет сервер, который по сокету будет обмениваться с клиентами данных. Подскажите плз каким способом лучше всего делать?
После некоторых поисков в инете наткнулся на то, что программисты сначала делают решение (windows form), а потом к ней приворачивают службу, тем самым обеспечивая фоновую работу своему приложению.
Так ли я понял и если все правильно, то как это делается?
Получается по факту весь код находиться в windows form, а добавленная служба будет лишь обслуживать сокет ну и естественно обмениваться данными с windows form?
или я вообще не в ту сторону копаю?
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2011, 19:59
Ответы с готовыми решениями:

Создание службы Windows
Добрый день. Есть работающая консоль public class PsiActivityCheck { public string Date { get; set; } ...

Инсталлятор службы в Windows
Доброе время суток, форумчане! Пишу службу для винды для заказчика, решил воздвигнуть мало-мальский пример, скомпилировать и посмотреть,...

Как пишутся службы Windows
Помогите пожалуйста объясните как создать службу! надо срочно сдать к.р. надо реализовать onStart onStop onPause onContinue. Что выполнять...

13
13 / 13 / 0
Регистрация: 26.01.2010
Сообщений: 96
23.11.2011, 23:52
Да, довольно часто делают так.
Так очень удобно.
Подобным способом решал задачу слежения за активными процессами сотрудников.
1
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
24.11.2011, 06:48  [ТС]
Цитата Сообщение от Neftedollar Посмотреть сообщение
Да, довольно часто делают так.
Так очень удобно.
Подобным способом решал задачу слежения за активными процессами сотрудников.
а как это делается? в onstart прописывается подъем сокета и описываются процедуры общения с windows form?
0
13 / 13 / 0
Регистрация: 26.01.2010
Сообщений: 96
24.11.2011, 10:33
у меня чуть проще было.
общение велось через обычный файл. Служба пишет, форма читает. Вопрос не совсем сейчас понял, как будет вестись общение с формой?
0
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
24.11.2011, 11:58  [ТС]
Цитата Сообщение от Neftedollar Посмотреть сообщение
у меня чуть проще было.
общение велось через обычный файл. Служба пишет, форма читает. Вопрос не совсем сейчас понял, как будет вестись общение с формой?
если конкретно, то хочу допустим написать чат. Соответвенно, сервер чата нужно будет настраивать. Ну вот, чтобы настроить сервер чата( в котором можно будет допустим сменить пароль для пользователя, посмотреть историю сообщений и т.д. и т.п.) нужна визульная среда( windows form), а сама служба должна просто напросто прослушивать порт и передавать форме данные.
0
13 / 13 / 0
Регистрация: 26.01.2010
Сообщений: 96
24.11.2011, 13:13
тогда тут еще проще.
служба службой а в данном случае форме нужно посылать сообщение любым из способов. например сделать TCPClient на форме и TCPListener в службе. винформ приложение и служба могут быть совершенно разными. Копайте в сторону TCP. если приложения будут работать на одной машине, то клиент слушает адресс 127.0.0.1
0
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
24.11.2011, 20:26  [ТС]
Цитата Сообщение от Neftedollar Посмотреть сообщение
тогда тут еще проще.
служба службой а в данном случае форме нужно посылать сообщение любым из способов. например сделать TCPClient на форме и TCPListener в службе. винформ приложение и служба могут быть совершенно разными. Копайте в сторону TCP. если приложения будут работать на одной машине, то клиент слушает адресс 127.0.0.1
ничего не пойму)
Создаю новый проект, выбираю виндовс форму, потом добавляю службу? Что произойдет с таким приложением если пользователь завершит сессию? главная форма закроется и закроет службу(точнее сказать завершит)? Хочу все же понять как это лучше сделать?

допустим есть фтп сервер gene6. У него есть 3 исполняемых файла:server,admin и tray.
Получается с клиентами общается server(служба), а admin и tray это две винформы, которые при своем запуске данные в удобной форме выводят из различных файлов(логи, базы данных).
Я правильно понял?
0
13 / 13 / 0
Регистрация: 26.01.2010
Сообщений: 96
24.11.2011, 20:42
Хм. Не совсем пойму.
Давайте так, вы опишите, то что Вы хотите сделать и зачем Вам в этом случае случае связывать службу с винформой, а я попытаюсь Вам помочь.
0
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
24.11.2011, 22:53  [ТС]
Цитата Сообщение от Neftedollar Посмотреть сообщение
Хм. Не совсем пойму.
Давайте так, вы опишите, то что Вы хотите сделать и зачем Вам в этом случае случае связывать службу с винформой, а я попытаюсь Вам помочь.
Сделать много что хочу, но начнем думаю с чата.
1. Сервер чата должен висеть как служба, чтобы не зависеть от пользователя в системе
2. Так же хочу настраивать сервер( допустим смена порта для подключения,, контроль состоянии сервиса)
3. Сбор информации (просмотр логов в удобно читаемом формате, сколько человек онлайл, системная информация: сколько база или логи занимают место, насколько сервис грузит систему и тд)

Думал, что можно создать один проект и соединить все 3 пункта воедино.

Получается 1-ый пункт это первый проект -виндовс служба, а 2-ой и 3-ий пункты это виндовс форма в одном проекте(ну или по желанию два проекта виндовс форм)???

Как лучше всего сделать связь между этими двумя проектами(если я действительно понял что проектов должно быть два или три)?
0
13 / 13 / 0
Регистрация: 26.01.2010
Сообщений: 96
24.11.2011, 23:38
Да получается так. Только у меня неуверенность по поводу возможности перезапуска службы из винформ приложения. А так вполне можно хрвнить все настройки или в файле или в реестре. И считывать их одной программой, и переписывать другой.
0
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
25.11.2011, 08:26  [ТС]
Цитата Сообщение от Neftedollar Посмотреть сообщение
Да получается так. Только у меня неуверенность по поводу возможности перезапуска службы из винформ приложения. А так вполне можно хрвнить все настройки или в файле или в реестре. И считывать их одной программой, и переписывать другой.
Ну как вариант, настройки приложения можно хранить в app.conf, тем более visual studio предполагает такой способ. Сейчас надо узнать каким способом двум разным проектам назначит в качестве файла настроек один и тот же?
Просто неохото в службе использовать файл настроек а в винформе работать с этим файлом посредством xml
0
13 / 13 / 0
Регистрация: 26.01.2010
Сообщений: 96
25.11.2011, 13:00
пкм(проект) - добавить - существующий элемент - выбрать файл. В настройках проект можно выбрать из существующих файлов.
0
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
30.11.2011, 14:15  [ТС]
подскажите плз, как сделать дальше, чтобы принять сообщение от клиента (просто делаю телнет на адрес сервера) и отправить ему в ответ допустим то что он написал
сервер:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#
        // Создаем точку
        IPEndPoint serverEndpoint = new IPEndPoint(IPAddress.Any, Properties.Settings.Default.authNumberPort);
        // Создаем сокет
        Socket authServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
               
        //старт службы
        protected override void OnStart(string[] args)
        {
            // Начинаем прослушивание
            authServerSocket.Bind(serverEndpoint);
            //(serverEndpoint);
            authServerSocket.Listen(Properties.Settings.Default.authListenPort);
                                   
        }
отправку и прием хочу сделать в асинхронном режиме
0
13 / 13 / 0
Регистрация: 26.01.2010
Сообщений: 96
30.11.2011, 14:28
решил не делать через ТСП?
Ок вот тебе мануальчик полезного по сокетам найдешь тогда там:
http://www.rsdn.ru/article/dot... .xml#EQEAC

т.е. очевидно что пишешь свой тсп протокол. = )
Если нужно быстро, и просто то используй готовые классы все же.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2011, 14:28
Помогаю со студенческими работами здесь

Зарегистрировать приложение Windows службы
В общем, как зарегистрировать виндоус службу? Я только начал разбираться с службами, но срочно надо. Подскажите, как зарегать пустую...

Для чего нужны Windows - службы?
Для чего нужны Windows - службы? Ещё 1 тупой вопрос - вот говорят,что C++,C - языки для системного программирования. Т.е типо на них можно...

Написание службы Windows. Выбор инструмента.
Уважаемые форумчане, прошу помочь с информацией. Так сложилось, что в последние 8 лет не приходилось заниматься системным...

Откуда загружают сборки службы Windows
Я реализовал функционал службы Windows и имел неосторожность использовать в нём стороннюю библиотеку. При попытке запуска службы у меня...

Нужен совет. Вывести сообщение из приложения - службы Windows
Доброго времени суток. Ситуация: Есть программа, некоторый сервер, который крутится на машине в качестве службы. Программа имеет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru