Клиентский агент для билинговой системы
Описание задачи:
В локальной сети есть сервер с установленной биллинговой системой. Доступ клиентов осуществляется через веб-доступ по протоколу https (сервер работает под ОС семейства Linux – RHEL 4, веб-сервер – Apache, сам сайт написан на php, база - mysql). Нужна программа, работающая на стороне клиента, и взаимодействующая с этой биллинговой системой по средством веб. В биллинге каждому клиенту соответствует уч. запись, с параметрами: логин+пароль+IP и пр. Учетная запись может находиться в нескольких состояниях: активна, отключена пользователем, отключена по балансу и пр. В зависимости от этого состояния пользователю разрешается или запрещается выход в сеть Интернет с данного IP.
Клиентский агент должен при старте логиниться на сервер, активировать учетную запись, выводить доп. информацию (баланс, объявления) и периодически сообщать серверу команды о том, что агент активен. При завершении работы - послать команду серверу о блокировании учетной записи.
1. Работа под ОС семейства Windows (98, 2k, 2kServer, XP, 2k3Server, Vista(желательно))
2. Хранить введенные пользователем логин+пароль в зашифрованном виде.
3. Используя Логин+пароль осуществлять вход на сайт (без открытия страниц браузера), выбирать информацию о балансе и статусе учетной записи (парсингом страницы).
4. осуществлять изменение состояния учетной записи (на сайте это осуществляется путем нажатия одной/нескольких кнопок на странице абонента).
5. При старте, после первого логина на сайт путем парсинга спец. страницы с настройками принимать параметры работы, а также другую текстовую информацию. В зависимости от типа информации проводить определенные действия (например, если будет указано что это объявление – то показать его абоненту).
6. Через определенные промежутки времени (задаваемые в настройках с сервера) производить запрос открытия страницы с определенным URL, за счет чего сервер будет знать что клиент активен. В случае если клиент в течении времени, в два раза превышающего интервал не пошлет такого сигнала – его запись будет автоматически отключена (это уже будет сделано нами на стороне сервера).
7. При завершении работы программы (аварийном или пользовательском) послать запрос на открытии URL передав в этом запросе параметры идентификации клиента. По данному запросу сервер отключит уч. запись на биллинге.
8. создавать список сетевых интерфейсов в системе:
1. номер интерфейса;
2. название (например «LAN»)
3. Тип (Ethernet, Bluetooth, и др.)
4. Состояние (отключено, подключено)
5. Имя устройства
6. IP-адреса на данном интерфейсе (с маской подсети)
7. Шлюз
8. ДНС.
Последние 3 параметра должны быть с возможностью изменения.
(*Возможно отсутствие данной функции при работе под Win98.)
9. Все взаимодействие с пользователем (объявления, сообщения об ошибках и так далее) производить с помощью pop-up окон.
Предпочитаемая среда разработки - VB, VB.NET
С Уважением,
Сергей.