![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать IP адрес
Николас © (2006-05-27 01:43:00)Как узнать IP адрес клиента в сервере TCP (на WinSock) зная TSocket при событии FD_Read?
Verg (2006-05-29 21:20:00) [1]см. getpeername(...)
Николас (2006-05-29 17:21:00) [2]Tsmar странно... addr.sin_addr.S_addr = 0 а lenaddr = 16 после выполнения... почему так? в Accept() нормальная структура получается... а тут пустая..
Николас (2006-05-29 16:31:00) [3]Tsmar спасибо, а как теперь преобразовать это число в символьный IP? :)
Tsmar (2006-05-28 13:42:00) [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
Delphi_is_cool (2006-05-27 21:04:00) [5]...Нету ... )
Николас (2006-05-27 14:48:00) [6]неужели нет другова способа? Должен быть :)
Delphi_is_cool (2006-05-27 10:07:00) [7]Я думаю что никак ... обычно это делается при подключении клиента(FD_ACCEPT) ...