| Использование фоновых программ(Service). |
|
Наряду с обычными интерфейсными программами Windows, HiAsm предоставляет возможность написать так называемые фоновые программы, т.е. программы не имеющие форм и соответственно не могущие использовать никакие визуальные компоненты. Одним словом, фоновые программы - это приложения, которые постоянно находятся в памяти и выполняют какую-то работу после прихода запроса к ним. Такой работой может стать, например, закачка фйла из интернета в определенные промежутки времени или проверка доступности компьютера в сети или что-то еще, что не требует контроля со стороны пользователя. На данный момент существует только один нормальный способ "общения" фонового приложения с внешним миром - это UDP сокеты, которые находятся на вкладке Internet. Благодаря им вы можете посылать какие-нибудь команды вашему приложению для выполнения тех или иных задач. И с их же помощью отсылать подтверждение об их приеме и выполнение. Пример реализации фонового приложения и программы для отправки команд вы можете найти в папке Example\System\Service из стандартного пакета HiAsm. Тут программа с именем Server - это и есть фоновое приложение, которое по UDP сокету может принимать и обрабатывать две команды: ping - проверка состояния сервиса, stop - выход из программы. Сразу стоит отметить, что для такого типа программы необходимо устанавливать параметр Wait=True для того, чтобы программа не завершала свою работу сразу после запуска, а висела в памяти до вызова метода doStop. Вторая программа Client - клиентская программа для взаимодействия с нашим сервисом. Все, что она делает это отсылает все теже две команды серверу. И последнее, что хотелось бы сказать о фоновых приложениях-сервисах. Так
как взаимодействие между ними и программами клиентами строится с помощью UDP
сокетов, то ничто не мешает нам запускать их на удаленных машинах и управлять с
какой-то одной, что очень полезно, например, системным администраторам в
игровых клубах... |