Вниз
Скачать: CL | DM;

Как узнать IP адрес   Найти похожие ветки 

 
Николас   (2006-05-27 01:43) [0]

Как узнать IP адрес клиента в сервере TCP (на WinSock) зная TSocket при событии FD_Read?


 
Delphi_is_cool ©   (2006-05-27 10:07) [1]

Я думаю что никак ... обычно это делается при подключении клиента(FD_ACCEPT) ...


 
Николас   (2006-05-27 14:48) [2]

неужели нет другова способа? Должен быть :)


 
Delphi_is_cool ©   (2006-05-27 21:04) [3]

...Нету ... )


 
Tsmar   (2006-05-28 13:42) [4]

int recvfrom (
   SOCKET s,  
   char FAR* buf,  
   int len,    
   int flags,  
   struct sockaddr FAR* from,  
   int FAR* fromlen    
  );
юзаешь так

var
addr:TSockAddr;
lenaddr:integer;
...
lenaddr:=SizeOf(addr);
retcount:=recvfrom(Sock,buf,MAX_BUF_LEN,0,addr,lenaddr);
IP:=htonl(addr.sin_addr.S_addr);   <- вот и IP


 
Николас   (2006-05-29 16:31) [5]

Tsmar спасибо, а как теперь преобразовать это число в символьный IP? :)


 
Николас   (2006-05-29 17:21) [6]

Tsmar странно... addr.sin_addr.S_addr  = 0 а lenaddr = 16 после выполнения... почему так? в Accept() нормальная структура получается... а тут пустая..


 
Verg ©   (2006-05-29 21:20) [7]

см. getpeername(...)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
2-1159812270
Alral
2006-10-02 22:04
2006.10.22
Memo1.Text[1]:=


2-1159978351
Дом
2006-10-04 20:12
2006.10.22
Реестр и бинарные данные


2-1160031008
den74
2006-10-05 10:50
2006.10.22
ShellExecute и WinRar


6-1148981930
alexa14
2006-05-30 13:38
2006.10.22
Проблема с ServerSocket


15-1159463241
Layner
2006-09-28 21:07
2006.10.22
Расчет полиноминального тренда 6й степени




   Наверх