Форум: "Сети";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизКак узнать запущена ли программа и имя компьютера на котором... Найти похожие ветки
← →
Aleks (2003-04-28 13:02) [0]Добрый день...МАСТЕРАМ!!!
------------------------------------
Очень нужна помощь!
имеется ехе файл моей программы в Delphi. Он запускается с разных машин в сети. Необходимо, чтобы при запуске программы она проверяла, не запущена ли она в данный момент на другом компьютере в сети. Если нет... то запускалась. Если да то выдавалось сообщение, что программа используется (выводила имя компа на котором она запущена)...
Только просьба написать примерный код...
И возможно-ли определение (запуска) программы без просмотра и поиска по сети... а через WinApi ...
Извините за мою неграмотность в данном вопросе. Но помощь очень нужна.!!!
← →
Polevi (2003-04-28 15:16) [1]сервер нужен в таких делах, в крайнем случае сойдет shared-файл, но это черевато
← →
joisy (2003-04-28 15:53) [2]A mojno otkrivat kakoy nibud port (cherez soketi) napr 37001 i oprashivat vse kompi v seti es li gdeto komp s takim je portom. Esli est posilat tuda soobsheniye chtobi udostoveritsya na 100%, potom chto-to vrode ShowMessage("I"m already working on"+CompName); Application.Terminate;
← →
wal (2003-04-29 00:39) [3]Есть такой девайс, называется NetHasp от Alladdin, как запрограммируешь его, столько копий и запустит в сети. Причем защитить можешь не только свои прогрммы, но и чужие без исходников.
А если попроще, то можно эксклюзивно открывать какой-нибудь ресурс в сети (например \\server\c$ 8-Е)).
← →
Illusion (2003-04-29 12:49) [4]господи... ЗАЧЕМ???
создаём UDP листен сокет... На порту, положим 16000... Затем посылаем широковещательно сообщение по этому же порту. Алгоритм такой. Если на листен сокет приходит сообщение, то он проверяет, не от него ли... Если от него, то проверяет само сообщение, если сообщение пололжим "check", то значит кто-то проверяет на то, если в сети копии прилождения, тогда прога должна ответить на тот адресс, откда пришло сообщение что-нить типа "i`m here". Если приходит такое сообщение, то клиент тут же должен сдознуть, иначе работать.
Только здесь есть одна загвоздка. ПРога создаёт сокет, посылает сообщение и должна ждать, ведь ей надо убедится, что никого, нет, верно? Надо задать таймаут, пока она будет ждать ответа... А если прога находится в таймауте, и в этот пеиод приходит сообщение "check", то надо установить флаг о том, что прога получила такое сообщение, НО НЕ ОТВЕЧАТЬ НА НЕГО! Если ей ответят "i`m here", то значит до неё ещё был кто-то, значит этот кто-то ответить и тому экзепляру... Если никто не ответи, то ТОЛЬКО ТОГДА прога ответить...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c