Club Delphi  
    FTP   CCD     Enlaces   Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Redes
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 04-10-2011
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 171
dtomeysoto Va por buen camino
Cómo obtener dirección IP si tienes mas de una tarjeta de red

Hola, resulta que necesito obtener en un programa en Delphi la dirección IP de la tarjeta de red, para esto ya tengo implementada la siguiente función la cual funciona correctamente:

Código Delphi [-]
procedure GetHostNameIP(var HostName, IPaddr, WSAErr: string);
var
  Buffer: array[0..127] of Char;
  WSAData: TWSAData;
  HostEnt: PHostEnt;
begin
  HostName := EmptyStr;
  IPaddr   := EmptyStr;
  WSAErr   := EmptyStr;

  FillChar(Buffer, SizeOf(Buffer), #0);
  FillChar(WSAData, SizeOf(WSAData), #0);

  if WSAStartup(MAKEWORD(2, 0), WSADATA) = 0 then
    begin
      if GetHostName(@Buffer, SizeOf(Buffer)) = 0 then
        begin
          HostName := StrPas(@Buffer);
          HostEnt := GetHostByName(@Buffer);

          if Assigned(HostEnt) then
            IPaddr := inet_ntoa(PInAddr(HostEnt.h_addr_list^)^);
        end
      else
        case WSAGetLastError of
          WSAEFAULT        : WSAErr := 'WSAEFault';
          WSANOTINITIALISED : WSAErr := 'WSANotInitialised';
          WSAENETDOWN       : WSAErr := 'WSAENetDown';
          WSAEINPROGRESS    : WSAErr := 'WSAEInProgress';
        end;

      WSACleanup;
    end
  else
    WSAErr := 'Winsock is not responding."';
end;

Pero resulta que cuando ejecuto este programa en un servidor con dos tarjetas de red solo me va a devolver una sola dirección IP y necesito obtener las dos direcciones IP.

Podrían ayudarme a resolver este problema?
Gracias.
Responder Con Cita
  #2  
Antiguo 04-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: Planeta Agua
Posts: 22.704
Casimiro Notevi Va camino a la fama
Hola, te he modificado el título de la pregunta para que quede más claro que es lo que quieres.
__________________
/* Saludos
*/
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código

$ sudo mv system > /dev/null


Última edición por Casimiro Notevi fecha: 04-10-2011 a las 17:19:32.
Responder Con Cita
  #3  
Antiguo 04-10-2011
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 171
dtomeysoto Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Hola, te he modificado el título de la pregunta para que quede más claro que lo que quieres.
Muchas gracias amigo.
Responder Con Cita
  #4  
Antiguo 04-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 7.902
ecfisa Es un diamante en brutoecfisa Es un diamante en brutoecfisa Es un diamante en bruto
Hola dtomeysoto.

Revisá si te puede servir este enlace, acabo de probar el código en Delphi 7 y aparentemente funciona bién.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 04-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: Planeta Agua
Posts: 22.704
Casimiro Notevi Va camino a la fama
Y por si acaso, siempre te queda el "plan B", extraer la información de ipconfig:

Código:
Adaptador Ethernet Conexión de área local          :

        Sufijo de conexión específica DNS :
        Dirección IP. . . . . . . . . . . : 10.0.2.15
        Máscara de subred . . . . . . . . : 255.255.255.0
        Puerta de enlace predeterminada   : 10.0.2.2
Busca la línea/líneas "Dirección IP" y recoges el dato
__________________
/* Saludos
*/
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código

$ sudo mv system > /dev/null

Responder Con Cita
  #6  
Antiguo 04-10-2011
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 171
dtomeysoto Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Y por si acaso, siempre te queda el "plan B", extraer la información de ipconfig:

Código:
Adaptador Ethernet Conexión de área local          :

        Sufijo de conexión específica DNS :
        Dirección IP. . . . . . . . . . . : 10.0.2.15
        Máscara de subred . . . . . . . . : 255.255.255.0
        Puerta de enlace predeterminada   : 10.0.2.2
Busca la línea/líneas "Dirección IP" y recoges el dato
si ya estaba pensando en eso hasta que apareció el post anterior.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener la dirección MAC (MAC ADDRESS) movorack Varios 7 20-03-2013 23:54:44
Es posible obtener la MAC de una direccion IP ilichhernandez Internet 3 30-12-2010 11:46:05
Obtener direccion MAC de mi PC artemisa Varios 11 07-10-2010 18:31:28
Obtener MAC tarjeta de Red pockelsm3 Varios 5 06-02-2009 10:45:34
obtener una direccion url rls Varios 1 12-11-2006 15:41:50


La franja horaria es GMT +2. Ahora son las 08:23:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi