Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2010, 13:17   #1
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию Узнать с какого IP было послано сообщение

С помощью winsock надо сделать. Я забыл где читал про это... Адрес отправителя сообщения хранится в TSockAddr как его извлечь от туда?
Вот мой нерабочий код.
Код:
FD_ACCEPT:
begin
accept(Sock,nil,nil);
Memo1.Lines.Add('sdfgsdg');
SetLength(buf,1);
i:=sizeof(TSockAddr);
recvfrom(sock,pointer(buf)^,1,0,RecvAddr,i);
ip:=inttostr(SockAddr.sin_addr.S_addr);
//If buf='1' then
Showmessage(ip);
end;
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 27.06.2010, 14:23   #2
.srcguard
Новичок
Джуниор
 
Регистрация: 27.06.2010
Сообщений: 1
По умолчанию

используй inet_ntoa
.srcguard вне форума Ответить с цитированием
Старый 27.06.2010, 15:14   #3
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Спасибо, .srcguard
На будущее тем, кто будет читать эту тему:
Код:
Var 
AddrLen:integer; //длина TSOCKADDR в байтах
RecvSock:TSockAddr; //структура куда будет сохраняться IP отправителя
Sock:TSocket; //создающийся при подключении клиента
buf:string; //буффер для текстовых сообщений
FD_ACCEPT:
begin
AddrLen:=SizeOf(TSockAddr);
accept(Sock,@RecvAddr,@AddrLen);
Memo1.Lines.Add('Клиент подключился');
SetLength(buf,1);
recvfrom(sock,pointer(buf)^,1,0,RecvAddr,Len);
ip:=inet_ntoa(RecvAddr.sin_addr);
Showmessage(ip);
end;
А весь этот код пишет в процедуре обработки сообщений окну. Смотреть http://delphikingdom.ru/asp/viewitem.asp?catalogid=1021
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
узнать с какого сайта пришли TDrive JavaScript, Ajax 10 09.03.2010 06:14
Как определить из какого компонента было вызвано PopupMemu yaver Общие вопросы Delphi 2 25.12.2008 18:48
узнать из какого города человек по странице из одноклассников РИЧ Помощь студентам 4 28.11.2008 13:53
узнать с какого компьютера заходили на определенный сайт? Lidi Помощь студентам 3 20.08.2008 15:56
как узнать с какого устройства идет ввод данных keg Win Api 5 20.07.2007 10:50