Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 71
.NET 4.x

Windows службы

23.11.2011, 19:59. Показов 3622. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru