Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Вниз

Программа с ограниченным числом пользователей   Найти похожие ветки 

 
Akim2   (2003-08-27 11:35) [0]

Привет народ.
Я пишу сетевую прогу и хочу ограничить кол-во одновремменно работающих копий программ в сети (лицензий).

Подскажите идеи (может кто сталкивался), как можна это реализовать и где лучше хранить информацию о кол-ве лицензий в данной сетке?


 
Reindeer Moss Eater   (2003-08-27 11:37) [1]

В общем случае это невозможно.


 
Delirium   (2003-08-27 11:40) [2]

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


 
Erik   (2003-08-27 11:46) [3]

Если нету сервера, то это сложно. Можно и сетевой шнурок выдернуть. Или надо организовывать постояное оповещение программ.


 
Reindeer Moss Eater   (2003-08-27 12:03) [4]

А если я другую сеть в том же физическом сегменте организую?
Кто ваши бродкасты пропустит к копиям работающим в другой сети?


 
Akim2   (2003-08-27 12:14) [5]

Я недосказал, сорри, приложение работает с базой FB, то бишь сервер существует.

И я могу проверить что-то на сервере или же запустить COM на сервере при старте клиентской машины и этот COM будет контролировать подключения. Реально ли это?

Или же, через сокеты, сервер - это сервер, а клиенты при старте регестрируются на сервере. И тот через некий промежуток времени перестукивает клиентов на предмет присутствия в сети (на случай некорректного выхода из проги).

Может так?


 
Reindeer Moss Eater   (2003-08-27 12:16) [6]

Я недосказал, сорри, приложение работает с базой FB, то бишь сервер существует.

Ставлю 100 серверов FB в сети.


 
Delirium   (2003-08-27 12:17) [7]

Гхм, если существует общий сервер БД, то может проще хранить таблицу подключений или использовать системную, если такая есть ?


 
Delirium   (2003-08-27 12:19) [8]

> Reindeer Moss Eater © (27.08.03 12:16) [6]

Зачем усложнять задачу, никто ведь не утверждает, что возможно осущёствить абсолютную защиту, но защититься так, чтобы на взлом было потрачено больше усилий, чем на официальную покупку - можно.


 
Reindeer Moss Eater   (2003-08-27 12:19) [9]

кол-во одновремменно работающих копий программ в сети (лицензий).

Сервер не поможет решить эту проблему. Если конечно сама проблема именно в этом.


 
Zacho   (2003-08-27 12:20) [10]

В FB SuperServer можно получить кол-во подключений к БД. Но если заменить его на Classic, то всегда будет выдавать 1.


 
Reindeer Moss Eater   (2003-08-27 12:21) [11]

Я думаю что автору не важно абсолютное количество запущенных экземпляров. В противном случае проблему не решить.


 
Reindeer Moss Eater   (2003-08-27 12:23) [12]

В FB SuperServer можно получить кол-во подключений к БД.
А если сервер обслуживает не только эту конкретную задачу автора?


 
Akim2   (2003-08-27 12:23) [13]

> Reindeer Moss Eater © (27.08.03 12:16) [6]
...
Ставлю 100 серверов FB в сети.

Пускай ставят - это уже не интересно. Идея в том, что бы с одними данными работали ограниченое кол-во людей. Приложения с базами данных, как правило работают с одной базой. Иначе смысла нет в таком приложении


 
Zacho   (2003-08-27 12:30) [14]


> Reindeer Moss Eater © (27.08.03 12:23) [12]

Именно к конкретной БД, а не к серверу вообще.


 
Reindeer Moss Eater   (2003-08-27 12:32) [15]

Идея в том, что бы с одними данными работали ограниченое кол-во людей. Приложения с базами данных, как правило работают с одной базой. Иначе смысла нет в таком приложении

А теперь посмотри на то, что ты спрашивал в начале.


 
Reindeer Moss Eater   (2003-08-27 12:40) [16]

Самое прямое и эффективное решение этой проблеммы - трехзвенка.


 
Akim2   (2003-08-27 12:40) [17]

Я же уточнил задачу:

>Akim2 (27.08.03 12:14) [5]
Я недосказал, сорри, приложение работает с базой FB, то бишь сервер существует.

Можно решить путем записи в базу, но много встречных проблем (если завись клиент и через reset или hub повис и т.д. Надо очистить эту таблицу и так далее ), а можно через COM или Soket (повторюсь). Поэтому я и спрашиваю совета. Я не прошу, что бы за меня решали. Просто, может кто-то сталкивался с данной проблемой.


 
Reindeer Moss Eater   (2003-08-27 12:44) [18]

Можно решить путем записи в базу
Что помешает приложению третьего лица тоже писать в базу?
(Устанавливать свои значения счетчиков, флагов и т.д)

MultyTier - вот что поможет лучше всего.


 
Akim2   (2003-08-27 12:46) [19]

...проблеммы - трехзвенка
Знаю, делал

MultyTier
А что это??? (Прощение за ламерский вопрос)


 
Reindeer Moss Eater   (2003-08-27 12:47) [20]

Это тоже самое, но на языке оригинала.


 
Akim2   (2003-08-27 12:50) [21]

Ж)
Спасибо за совет. Мои предположения на счет способов похоже оправдались.

Сенкс всем


 
Zacho   (2003-08-27 12:53) [22]

И все-таки, если FB SuperServer, то определить в программе кол-во подключений к БД можно. В IBX это TIBDatabaseInfo.UserNames


 
Akim2   (2003-08-27 12:56) [23]

А FB SuperServer платный?


 
Zacho   (2003-08-27 12:59) [24]

Нет. Но если эта программа на продажу, то никто не помешает покупателю поставит у себя Classic.


 
Akim2   (2003-08-27 13:11) [25]

За что боролись - на то и напоролись. Отож и оно.
Не совсем красивенько получится.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.012 c
3-24381
Alexei Sviridov
2003-08-15 02:31
2003.09.08
DBGrid


1-24406
Хишник
2003-08-28 11:14
2003.09.08
Breakpoint не работает? (CBuilder)


11-24397
AlexG
2003-01-03 14:17
2003.09.08
Базы!


4-24740
Danchik
2003-07-08 13:59
2003.09.08
работа с Dll


6-24572
alak
2003-06-30 10:00
2003.09.08
Pagecontrol and webbrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский