Машинист паровоза
Группа: Участник
Сообщений: 239
|
Да поможет тебе функция
заголовок winsock2.h
struct hostent FAR * gethostbyaddr ( const char FAR * addr,
int len,
int type
);
которая вернет тебе счасть в виде:
struct hostent {
char FAR * h_name;
char FAR * FAR * h_aliases;
short h_addrtype;
short h_length;
char FAR * FAR * h_addr_list;
};
Members
h_name
Official name of the host (PC).If using the DNS or similar resolution system, it is the Fully Qualified Domain Name (FQDN) that caused the server to return a reply. If using a local "hosts" file, it is the first entry after the IP address.
h_aliases
A NULL-terminated array of alternate names.
h_addrtype
The type of address being returned.
h_length
The length, in bytes, of each address.
h_addr_list
A NULL-terminated list of addresses for the host. Addresses are returned in network byte order.The macro h_addr is defined to be h_addr_list[0] for compatibility with older software.
PS. Если ты думаешь что это работает просто.....ты ошибаешься, покрайнемере один сервер DNS должен быть доступен(возможно на самой машине), есть тонкость если хост поддерживает одновременно проьоколы IPv4 и IPv6, и мого чего еще. Можно пользоватся WSAAsyncGetHostByAddr — она суть асинхронная версия указанной выше функции. Кстате в хелпе билдера есть описание. Все, флаг в руки и барабан на шею....... |