Skip to content

varkon/limitednumbapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

limitednumbapp

Тестовое задание по разработке библиотеки, ограничивающую количество запущених копий приложения. Написать Win32 приложение, которое дает возможность пользователю запустить не более чем N копий себя: а) на локальной машине; б) в локальной сети.

Оформить это в виде библиотеки.

Основные стратегии запуска: а) на локальной машине - по умолчанию разрешен запуск четырех копий приложения. При наличии файла .settings специального формата в %AppData%/Roaming/limetednumbapp/ - значение больше или равно нулю перекрывает значение по умолчанию. При отсутсвии данного файла он создается при первом запуске. При значении 0 - ни одно из приложений запущено не будет. б) в локальной сети возможно реализовать несколько возможных стратегий - но в тестовом реализована будет только одна - количество запущених приложений в сети равно количеству доступных хостов определямых по маске сети.

Библиотека будет разработана в качестве библиотеки для статической линковки с приложением, количество копий которого необходимо ограничить, тестовое приложение должно быть собрано вместе с библиотекой.

При работе в сети производится сканирование локального компьютера и на любом из свободных портов выше 1024 создается серверный сокет ожидающий подключение (для упрощения задачи в тестовой версии приложение пытается занять один из четырех портов свободных - 1111, 5555, 8888, 9999). После этого, производится сканирование и опрос портов остальных компьютеров в сети, для поиска запущених приложений. Первоначально посылается ICMP-пакет - если копьютер отвечает, его адрес добавляется в массив, на указанные порты посылается строка запроса, которая содержит фразу alloha!+|+имя копьютера+|+порт на котором ожидается подключение+\. После получения ответа aholla!\ приложение считается работающим.

Для создания песочницы используйте скрипт sandbox.bat если это необходимо

About

The test

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors