как узнать к-во пользователей моей программы
, как узнать к-во пользователей моей программы
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.223] |
|
|
Соблюдайте общие правила форума
MSDN Library
FAQ раздела
Поиск по разделу
Как правильно задавать вопросы| Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
как узнать к-во пользователей моей программы
, как узнать к-во пользователей моей программы
|
Сообщ.
#1
,
|
|
|
|
Здравствуйте!
Интересует оптимальный способ, как узнать к-во пользователей использующих мою сетевую программу. При этом желательно не задействовать почту, а просто вероятно записывать данные в лог файл на сайте. |
|
Сообщ.
#2
,
|
|
|
|
...сеть локальная или Интернет? И там и там можно просто вызывать пых-пых скрипт на удаленном хосте (винсокетами или инди - idHTTP или из синапс класс httpsend), сам скрипт пусть пишет в файл.
Cкрипт my.php (вызов и запись в параметр http://host/my.php?id=чегонибудь): ![]() ![]() <? $d = date('d M Y H:i:s'); $nf=date('m-Y'); if (is_file($nf.'.txt')) $fp=@fopen($nf.'.txt',"a"); else $fp=fopen($nf.'.txt','w'); fputs($fp,"$d#$id\r\n"); @fclose($fp); ?> в локалке поднимаем аппач для пыха. Или пишем по FTP, аналогично в локалке поднимаем сервак. Или в сетевую шару. |
|
Сообщ.
#3
,
|
|
|
|
С скриптами не сталкивался, сайт на хтмл. Сеть интернет, пользователь запускает программу, а она уже этот php? Используется компонент инди для запуска этого пшп, а он уже будет делать запись в лог на сайте?
|
|
Сообщ.
#4
,
|
|
|
|
...раз на хосте нет PHP, то только писать в файл по FTP, сначала скачивать, записать, потом отослать. idFTP например или синапсом. Скриптов никаких не надо в этом случае.
зы: это ваша та же тема на кибере? |
|
Сообщ.
#5
,
|
|
|
|
на хостинге есть php и тема моя есть на винграде больше нигде.
|
|
Сообщ.
#6
,
|
|
|
|
Альтернативный вариант
А что если раздавать индивидуальный ключ к конкретной машине, как многие делают и отслеживают кол-во лицензий равное кол-ву компьютеров. Типа программа запускается на компьютере генерирует ключ по матери, процессору, свободному месту или чему либо еще программа или сам пользователь отправляет HWID вам и вы генерируете на его основе ключ |
|
Сообщ.
#7
,
|
|
|
|
Можно обойтись и без компонентов, обычными средствами WinInet.
Но надо иметь в виду, что статистика будет с погрешностью: кто-то закроет доступ на фаерволле, например. |
|
Сообщ.
#8
,
|
|
|
|
...синапс, к примеру не компоненты, а просто набор классов, обертка.
Цитата тогда вам дан готовый код, просто вызывайте этот скрипт и передавайте в него то, что вам вздумается.на хостинге есть php Цитата значит у вас есть собрат по "счастью" с тем же вопросом тема моя есть на винграде больше нигде. |
|
Сообщ.
#9
,
|
|
|
|
Сделал по примеру в интернете файл ини с папки программы, но всё дело, что он стандартный у всех. Оптимально, если будет ип - адрес пользователя и он бы добавлялся в файл на хостинге. Пример
![]() ![]() .. uploadfile.php, 430 b <?php $uploaddir = "tmp"; // Where you want the files to upload to - Important: Make sure this folders permissions (CHMOD) is 0777! if(is_uploaded_file($_FILES['ffile']['tmp_name'])) { move_uploaded_file($_FILES['ffile']['tmp_name'],$uploaddir.'/'.$_FILES['ffile']['name']); print "Your file has been uploaded successfully! Yay!"; } else { print "Your file has not been uploaded!!";} ?> procedure TForm2.send1Click(Sender: TObject); //procedure TForm1.sendFileInet(filename: string); var response: string; formData: TIdMultipartFormDataStream; idhttp1: TIdHTTP; begin idhttp1 := TIdHTTP.Create(nil); formData := TIdMultipartFormDataStream.Create; formData.AddFile('ffile', 'хххх.ini', 'text/plain'); // ffile mst be in php-file IdHTTP1.Request.ContentType := 'multipart/form-data'; try response := IdHTTP1.Post('http://ХХХХ/uploadfile.php', formData); finally IdHTTP1.Free; formData.Free; end; дальше я попробовал ещё embeddedwb сделал его невидимым и чтобы он открывал сайт скрытно для прльзователя на хостинге, покажет кто заходил и ип - адрес в том числе, но к сожалению почему то пишет, как мозила. Хотя в user agent я выставил имя своей программы. Пример ![]() ![]() EmbeddedWB3.Navigate(' http://narod.ru/ip'); изменил запрос немного создал пустой файл ip в дире и сылку в проге как кто запустит программу то соответсвенно и этот файл. Вот сейчас на хостинге посмотрел видно работает, файл пустой и на странице его нет, поэтому открываться он может скорее всего за счёт запуска программы. Но всё равно готового решения, что- то нет в интернете, а оптимально конечно лог файл на хостинге куда записывался бы ип-адрес путём добавления в лог файл. |
|
Сообщ.
#10
,
|
|
|
|
Цитата пост #2.а оптимально конечно лог файл на хостинге куда записывался бы ип-адрес путём добавления в лог файл. Цитата ваша версия Delphi? Нет встроенной Indy? я попробовал ещё embeddedwb |
|
Сообщ.
#11
,
|
|
|
|
Цитата
я попробовал ещё embeddedwb ваша версия Delphi? Нет встроенной Indy? Нет это расширенная версия webbrowser встроенного в дельфи. |
|
Сообщ.
#12
,
|
|
|
|
Я в курсе, что такое embeddedwb
. Что до webbrowser, это вообще ActiveX IE. Вы на вопрос-то ответите, версия Delphi? Откуда-то же у вас появилось желание костыли взять. |
|
Сообщ.
#13
,
|
|
|
|
rad studio xe
|
|
Сообщ.
#14
,
|
|
|
|
...Indy там есть. Чем не устроил метод GET у idHTTP?
|
|
Сообщ.
#15
,
|
|
|
|
скрипт 2 поста у меня не работает cmod разные ставил не помогает.
в 9 посте я написал, что использовал idhtt. правда там метод post. давно где находил хороший пример программно нажать кнопку, а сейчас что то всё не то то клавиатура то рецепт не подходит. |