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