Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Se necesita con urgencia cómo obtener la IP del host, escrito utilizando la programación API completa de C Windows! ! Gracias

¡Se necesita con urgencia cómo obtener la IP del host, escrito utilizando la programación API completa de C Windows! ! Gracias

#include lt;winsock.hgt;

#include lt;wsipx.hgt;

#include lt;wsnwlink.hgt;

#include lt;stdio.hgt;

int main()

{

////////////// //

// Inicializa la API de sockets de Windows Solicita la versión 1.1

//

WORD wVersionRequested = MAKEWORD(1, 1);

WSADATA wsaData;

if (WSAStartup(wVersionRequested, amp; wsaData)) {

printf("WSAStartup falló s\n", WSAGetLastError());

return -1;

}

///////////////////

/ / Obtener nombre de host.

//

char hostname[256];

int res = gethostname(hostname, sizeof(hostname));

if (res != 0) {

printf("Error: u\n", WSAGetLastError());

return -1; p > }

printf("hostname=s\n", nombre de host);

/////////////////

// Obtener información del host para el nombre de host

//

hostent* pHostent = gethostbyname(hostname); {

printf("Error: u\n", WSAGetLastError());

return -1; / /////////////////

// Analiza la información del host devuelta

//

hostentamp; él = *pHostent;

printf("nombre=s\naliases=s\naddrtype=d\nlength=d\n",

él.h_nombre, él.h_aliases, él .h_addrtype , he.h_length);

sockaddr_in sa;

for (int nAdapter=0; he.h_addr_list[nAdapter]; nAdapter ) {

memcpy ( amp ;sa.sin_addr.s_addr, he.h

_addr_list[nAdapter], he.h_length);

// Genera la dirección IP de la máquina.

printf("Dirección: s\n", inet_ntoa(sa.sin_addr)); // mostrar como cadena

}

///////////////////

// Terminar ventanas API de sockets

//

WSACleanup();

devuelve 0;