На самом деле все очень просто, особенно с 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й код в обработчик срабатывания.
Если есть вопросы обращайся!