Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.06.2010, 13:38
norfolk23 norfolk23 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию Clientsocket - serverscoket

Всем привет..Подскажите как реализовать следующее:
клиентская часть,установленная на компьютере,собирает инфо и записывает его в лог..Вот что не могу релизовать-в случае доступности сервера нужно каждые 10 минут скидывать свой ip-адрес и инфо из лога в лог на сервере,при этом очищая полностью клиентский лог,а через 10 минут снова скидывать на сервер таким же образом инфо которая там к этому времени накопится(это уже реализовано)...
Ответить с цитированием
  #2  
Старый 24.06.2010, 14:29
Аватар для Marvel
Marvel Marvel вне форума
Начинающий
 
Регистрация: 14.06.2010
Адрес: Пятигорск
Сообщения: 121
Репутация: 24
По умолчанию

опять троянописатели )))

P.S.: стукни в аську, которая в подписи, как зайду в неё (часа через 4-6), помогу сделать, даж много-поточный сервер замутим ))
__________________
Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы...


ICQ: 593977748
Nick: Marvel

Последний раз редактировалось Marvel, 24.06.2010 в 14:32.
Ответить с цитированием
  #3  
Старый 25.06.2010, 18:55
norfolk23 norfolk23 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

есть умные мысли по этому поводу?
Ответить с цитированием
  #4  
Старый 25.06.2010, 20:03
Аватар для T-dayne
T-dayne T-dayne вне форума
Начинающий
 
Регистрация: 26.01.2010
Сообщения: 180
Репутация: 31
По умолчанию

На самом деле все очень просто, особенно с IP , смотрим:

Сначала определяем Ip адрес на машине клиента:
Код:
 function address: string;
var
ip: string;
p: integer;
begin
ip:=idhttp1.get('http://www.myip.ru/get_ip.php?loc=');

  P := Pos('<TABLE',ip);  
  P := PosEx('<TABLE',ip,P+1); 
  P := PosEx('<TABLE',ip,P+1); 
  P := PosEx('<TD',ip,P+1); 
  P := PosEx('<TD',ip,P+1); 
  P := PosEx('>',ip,P+1); 
  Delete(ip,1,P);  
  ip := Copy(ip,1,Pos('<',ip)-1);  
 result:=ip;
 end;

Далее отсылаем его серверу:

Код:
clientsocket1.sendtext('#IP'+address);

На сервере ловим так:
Код:
 procedure TForm.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var smessage: string;
begin
smessage:=socket.ReceiveText;
 if copy(smessage,1,3)='#IP' then
 begin
  delete(smessage,1,3);
  //все! адрес находится в переменной smessage, делаем че хотим.
 end;
end;

Для того чтобы сбор статистики выполнялся через каждые 10 минут, ставим таймер со значением interval = 6000000 и помещаем 1й код в обработчик срабатывания.
Если есть вопросы обращайся!

Последний раз редактировалось T-dayne, 25.06.2010 в 20:05.
Ответить с цитированием
  #5  
Старый 26.06.2010, 08:54
Аватар для Marvel
Marvel Marvel вне форума
Начинающий
 
Регистрация: 14.06.2010
Адрес: Пятигорск
Сообщения: 121
Репутация: 24
По умолчанию

T-dayne, а не проще на стороне сервера использовать ClientSocket.RemoteHost (Socket.RemoteHost - это кто через что делает), чем клиентом отсылать его IP? К тому же если это работает в локалке, где нет инета, то Ваш способ не подходит
Код:
procedure TForm.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  smessage: string;
begin
  smessage := Socket.RemoteHost;
  // все! адрес находится в переменной smessage, делаем че хотим.
end;

norfolk23, в аську бросил ссылку на исходник, который и обещал
__________________
Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы...


ICQ: 593977748
Nick: Marvel

Последний раз редактировалось Marvel, 26.06.2010 в 09:08.
Ответить с цитированием
  #6  
Старый 26.06.2010, 09:47
Аватар для T-dayne
T-dayne T-dayne вне форума
Начинающий
 
Регистрация: 26.01.2010
Сообщения: 180
Репутация: 31
По умолчанию

Marvel
Аха, действительно. Маловато опыта...
Ответить с цитированием
  #7  
Старый 26.06.2010, 10:04
norfolk23 norfolk23 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

всем пасиб за помощь
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter