Ver Mensaje Individual
  #2  
Antiguo 02-07-2011
Avatar de sintecsl
sintecsl sintecsl is offline
Miembro
 
Registrado: jun 2008
Ubicación: Barcelona - Spain
Posts: 40
Reputación: 0
sintecsl Va por buen camino
No tengo muy claro lo que quieres pero entiendo que quires conectar máquinas entre si mediante internet.

Facil. Solo necesitas configurar los NAT (En el router) y crear una redirección a tu máquina (PC). El problema de esto siempre es el mismo pero facilmente solucionable. ¿ Cual es tu IP externa en internet ? Si lo rebotas en una página con petición de tú IP te dará dentro de su texto la IP que buscas. La debes guardar (Para el que actua como servidor) en algún lugar público, bien una ftp de tuya o pública (encriptala). Y de esa forma es como si tubieses una IP pública fija. Esto solo es el comienzo.....A partir de aquí debes asignar puertos y redireccionar a los PC que se conectarán como Clientes.

Ya se que soy muy escueto, eso depende de tú nivel de conocimientos, pero si sabes un poco te resultará la mar de fácil.....

Ejemplo que te retorna tú IP pública (el 1º es de mi web y no contiene texto sobrante y el otro es una que funciona hasta donde sé correctamente) :

Código Delphi [-]

function IP_Publica : string;
var
  IdHTTP:TIdHTTP;
begin
  Result:=''; //Inicializamos
  if Deteccion_Conexion then
  begin
       IdHTTP:=TIdHTTP.Create(nil);
       try
         Result:=IdHTTP.Get('http://sintecsl.es/IP/IP.php'); //Mi WEB
       finally
         IdHTTP.Free;
       end;
  end;
end;

(*  ANTERIOR FORMA QUE FUNCIONA PERFECTAMENTE
function IP_Publica : string;
  function IsNumeric( T:string ):boolean;
  begin
    Result:=false;
    if (length(T)>0) then
      case T[1] of
          '0'..'9':Result:=true;
      end;
  end;
var
  HTMLBody:string;
  i:integer;
  IdHTTP:TIdHTTP;
begin
  Result:='';
  if   Deteccion_Conexion
  then begin
       IdHTTP:=TIdHTTP.Create(nil);
       try
         HTMLBody:=IdHTTP.Get('http://checkip.dyndns.org/');
         for i:=0 to Length(HTMLBody)-1 do begin
             if   IsNumeric(HTMLBody[i])
             or  (HTMLBody[i]='.')
             then Result:=Result+HTMLBody[i];
         end;
       finally
         IdHTTP.Free;
       end;
  end;
end; *)

Espero que te sea de ayuda.
__________________
www.sintecsl.es
Responder Con Cita