Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.07.2017, 19:16
ComAlex ComAlex вне форума
Прохожий
 
Регистрация: 18.06.2017
Сообщения: 22
Версия Delphi: Delphi XE, C++
Репутация: 10
По умолчанию Служба, работающая на локальном компе, вырубается на сервере

Здравствуйте.

Написал службу (на Delphi)
На локальном компе всё хорошо работает,
но когда перенес её на сервер, начала вырубаться через секунд 15.

Служба проста:

На форме находится IdTCPServer, слушающий порт
Код:
procedure TslGetCoffee.ServiceStart(Sender: TService; var Started: Boolean);
begin
 ...
 IdTCPServer.DefaultPort:=5190;
 Try
  IdTCPServer.Active:=True;
 Except
  ...
 End;
end;

procedure TslGetCoffee.ServiceExecute(Sender: TService);
begin
 While Not Terminated do
 begin
  If Terminated Then Break;
  Sleep(200);
  ServiceThread.ProcessRequests(False);
 End;
end;
Админ: Пользуемся тегами при оформлении кода! При рецедиве последуют санкции.

Стартует, но останавливается даже когда нет команд на IdTCPServer

Дело наверное не в службе.
Наверное что-то мешает службе выполняться на сервере
Что можно проверить на сервере? какие настройки?
Как определить причину остановки службы?
Что посоветуете?

Последний раз редактировалось Admin, 20.07.2017 в 20:35.
Ответить с цитированием
  #2  
Старый 21.07.2017, 00:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,993
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Скореее всего просто где-то возникает эксепшн, который "выбивает" тред, вот служба и заканчивает работу.
Ответить с цитированием
  #3  
Старый 21.07.2017, 09:16
ComAlex ComAlex вне форума
Прохожий
 
Регистрация: 18.06.2017
Сообщения: 22
Версия Delphi: Delphi XE, C++
Репутация: 10
По умолчанию

Спасибо, посмотрю
Может это важно, Сервер - виртуальный
Ответить с цитированием
  #4  
Старый 21.07.2017, 10:36
ComAlex ComAlex вне форума
Прохожий
 
Регистрация: 18.06.2017
Сообщения: 22
Версия Delphi: Delphi XE, C++
Репутация: 10
По умолчанию

Проблема все-таки - службе !
Служба не понимает команды IdTCPServer (как-будто компонента вообще нет), просто в цикле работает, не реагируя на чтение порта
Но на локальной компе все работало отлично ...
В чем прикол?
Что-то не догоняю?
Как послать насильно команду слушать порт, что-ли?
или переписать что-то в procedure TslGetCoffee.ServiceExecute(Sender: TService)
Ответить с цитированием
  #5  
Старый 21.07.2017, 18:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,993
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Попробуй службу запустить под собой, а не под дефолтным системным пользователем. Может там что-то с правами... ну и файервол проверь, что порт открыт.
Ответить с цитированием
  #6  
Старый 21.07.2017, 18:47
ComAlex ComAlex вне форума
Прохожий
 
Регистрация: 18.06.2017
Сообщения: 22
Версия Delphi: Delphi XE, C++
Репутация: 10
По умолчанию

Спасибо
Проблема решена - во всём виноват брандмауэр
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter