Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.06.2018, 00:34
|
|||
---|---|---|---|
Управление TCP сервером БД из 'Unattended execution' службы |
|||
#18+
Есть сервер который слушает TCP порт и ждет запросы от клиентов. Его задача получить запрос от клиента, сделать выборку данных (может занимать долгое время) и отправить данные клиенту. Это обычное EXE приложение которое висит в трее. 1. Нужно прикрутить его к службе, которая стартует при загрузке Windows. Сервер должен стартовать вместе с ней на незалогиненом пк. 2. TCP сервер может упасть. Или просто выгрузиться по-команде клиента. Служба должна это "увидеть" и запустить сервер заново. Желательно, чтобы время оффлайна сервера было не более 1-2 секунд. 3. Желательно как-то контролировать состояние TCP сервера. Если он завис и долго не отвечает на запрос. Служба должна убить его через TerminateProcess и загрузить заново. Сейчас есть отдельно служба и отдельно сервер. Первый вариант запускать экзешник сервера при старте службы. Потом служба непрерывно сканирует список процессов, и если сервер из него исчез - запускает его заново. Второй вариант. Вынести сервер в ActiveX DLL или ActiveX EXE и вызывать из службы как COM объект. Но тут если упадет TCP сервер, то утянет за собой службу. И непонятно как его перезагружать тогда. В общем какой вариант связки лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&tablet=1&tid=2155041]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 139ms |
0 / 0 |