In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Como obtengo la IP local de una máquina?
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Como obtengo la IP local de una máquina?
Bingen,
perdona el retraso. Me acabo de dar cuenta de que este mensaje estaba sin
contestar.
Puedes usar esta función:
//---------------------------------------------------------- --------------------
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
#include "winsock2.h"
XA_FUNC( GETLOCALIP )
{
WSADATA wsa;
char cHost[256];
struct hostent *h;
int nAddr = 0, n = 0;
WSAStartup( MAKEWORD( 2, 0 ), &wsa );
if( gethostname( cHost, 256 ) == 0 )
if( h = gethostbyname( cHost ) )
while( h->h_addr_list[nAddr] )
nAddr++;
hb_reta( nAddr );
if( nAddr )
while( h->h_addr_list[n] )
{
char cAddr[256];
wsprintf( cAddr, "%d.%d.%d.%d", (BYTE) h->h_addr_list[n][0],
(BYTE) h->h_addr_list[n][1],
(BYTE) h->h_addr_list[n][2],
(BYTE) h->h_addr_list[n][3] );
hb_storc( cAddr, -1, ++n );
}
WSACleanup();
}
#pragma ENDDUMP
//---------------------------------------------------------- ----------------
Esta función te devuelve un array con las direcciones IP locales que tenga
el ordenador.
--
Un saludo,
José F. Giménez
perdona el retraso. Me acabo de dar cuenta de que este mensaje estaba sin
contestar.
Puedes usar esta función:
//---------------------------------------------------------- --------------------
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
#include "winsock2.h"
XA_FUNC( GETLOCALIP )
{
WSADATA wsa;
char cHost[256];
struct hostent *h;
int nAddr = 0, n = 0;
WSAStartup( MAKEWORD( 2, 0 ), &wsa );
if( gethostname( cHost, 256 ) == 0 )
if( h = gethostbyname( cHost ) )
while( h->h_addr_list[nAddr] )
nAddr++;
hb_reta( nAddr );
if( nAddr )
while( h->h_addr_list[n] )
{
char cAddr[256];
wsprintf( cAddr, "%d.%d.%d.%d", (BYTE) h->h_addr_list[n][0],
(BYTE) h->h_addr_list[n][1],
(BYTE) h->h_addr_list[n][2],
(BYTE) h->h_addr_list[n][3] );
hb_storc( cAddr, -1, ++n );
}
WSACleanup();
}
#pragma ENDDUMP
//---------------------------------------------------------- ----------------
Esta función te devuelve un array con las direcciones IP locales que tenga
el ordenador.
--
Un saludo,
José F. Giménez
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Como obtengo la IP local de una máquina?
Perfecto, muchas gracias.
Como obtengo la IP local de una máquina?
José,
¿Por que has usado wsprinft en vez de sprinft?
Saludos,
José Luis Capel
Jose F. Gimenez escribió:
> Bingen,
>
> perdona el retraso. Me acabo de dar cuenta de que este mensaje estaba sin
> contestar.
>
> Puedes usar esta función:
>
> //---------------------------------------------------------- --------------------
>
> #pragma BEGINDUMP
>
> #include "windows.h"
> #include "xailer.h"
> #include "winsock2.h"
>
> XA_FUNC( GETLOCALIP )
> {
> WSADATA wsa;
> char cHost[256];
> struct hostent *h;
> int nAddr = 0, n = 0;
>
> WSAStartup( MAKEWORD( 2, 0 ), &wsa );
>
> if( gethostname( cHost, 256 ) == 0 )
> if( h = gethostbyname( cHost ) )
> while( h->h_addr_list[nAddr] )
> nAddr++;
>
> hb_reta( nAddr );
>
> if( nAddr )
> while( h->h_addr_list[n] )
> {
> char cAddr[256];
> wsprintf( cAddr, "%d.%d.%d.%d", (BYTE) h->h_addr_list[n][0],
> (BYTE) h->h_addr_list[n][1],
> (BYTE) h->h_addr_list[n][2],
> (BYTE) h->h_addr_list[n][3] );
> hb_storc( cAddr, -1, ++n );
> }
>
> WSACleanup();
>
> }
>
> #pragma ENDDUMP
>
> //---------------------------------------------------------- ----------------
>
> Esta función te devuelve un array con las direcciones IP locales que tenga
> el ordenador.
>
>
¿Por que has usado wsprinft en vez de sprinft?
Saludos,
José Luis Capel
Jose F. Gimenez escribió:
> Bingen,
>
> perdona el retraso. Me acabo de dar cuenta de que este mensaje estaba sin
> contestar.
>
> Puedes usar esta función:
>
> //---------------------------------------------------------- --------------------
>
> #pragma BEGINDUMP
>
> #include "windows.h"
> #include "xailer.h"
> #include "winsock2.h"
>
> XA_FUNC( GETLOCALIP )
> {
> WSADATA wsa;
> char cHost[256];
> struct hostent *h;
> int nAddr = 0, n = 0;
>
> WSAStartup( MAKEWORD( 2, 0 ), &wsa );
>
> if( gethostname( cHost, 256 ) == 0 )
> if( h = gethostbyname( cHost ) )
> while( h->h_addr_list[nAddr] )
> nAddr++;
>
> hb_reta( nAddr );
>
> if( nAddr )
> while( h->h_addr_list[n] )
> {
> char cAddr[256];
> wsprintf( cAddr, "%d.%d.%d.%d", (BYTE) h->h_addr_list[n][0],
> (BYTE) h->h_addr_list[n][1],
> (BYTE) h->h_addr_list[n][2],
> (BYTE) h->h_addr_list[n][3] );
> hb_storc( cAddr, -1, ++n );
> }
>
> WSACleanup();
>
> }
>
> #pragma ENDDUMP
>
> //---------------------------------------------------------- ----------------
>
> Esta función te devuelve un array con las direcciones IP locales que tenga
> el ordenador.
>
>
Como obtengo la IP local de una máquina?
José Luis,
> ¿Por que has usado wsprinft en vez de sprinft?
por nada en especial. Al ir a comprobar una cosa en la ayuda del API que
tengo, sprintf() no venía, y sí venía wsprintf(), y al final se ha quedado
así. Pero hasta donde yo sé son equivalentes.
--
Un saludo,
José F. Giménez
> ¿Por que has usado wsprinft en vez de sprinft?
por nada en especial. Al ir a comprobar una cosa en la ayuda del API que
tengo, sprintf() no venía, y sí venía wsprintf(), y al final se ha quedado
así. Pero hasta donde yo sé son equivalentes.
--
Un saludo,
José F. Giménez