Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2007
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Uso de sockets

Hola, estoy realizando una aplicacion que es un servidor que acepta conexiones de uno o varios clientes. Estoy usando el componente Indy TIdTCPServer. Me gustaria saber si hay forma de averiguar (q supongo q debe haberla) el host del cliente asi como otros datos que puedan ser de interes.
Si sabeis algo ayudadme please
Gracias a todos...
Responder Con Cita
  #2  
Antiguo 14-11-2007
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 18
fide Va por buen camino
Lightbulb Usar los Sockets de la Indy!

Oyeme, por que al conectarte no le envias al servidor todas las informaciones que el necesite mediante la intruccion WriteLn??

Asi le enviarias todos los datos ya directamente!

Ejemplo:

Insertas un idTCPClient y un idTCPServer.

Esto lo pones en el OnClick de un Boton u otro evento...

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 vIp, vName, vCommand: String;
begin

  vIp := '127.0.0.1';
  vName := 'localhost';
  vCommand := 'logoff';

  with IdTCPClient1 do
   begin
    Host := '127.0.0.1';
    Port := 7099;
    Connect;
   end;

   if IdTCPClient1.Connected then
    begin
      IdTCPClient1.WriteLn(vIp);
      IdTCPClient1.WriteLn(vName);
      IdTCPClient1.WriteLn(vCommand);
      IdTCPClient1.Disconnect; 
    end;

end;

Esto lo pones en el OnExecute del idTCPServer

Código Delphi [-]
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
 vIp, vName, vCommand: String;
begin

  vIp := AThread.Connection.ReadLn;
  vName := AThread.Connection.ReadLn;
  vCommand := AThread.Connection.ReadLn;

  AThread.Connection.Disconnet;

  ShowMessage(vIp + #10 + vName + #10 + vCommand);

end;

Esto es solo una idea. Pero puedes continuar preguntando si necesitas algo okas...
Responder Con Cita
  #3  
Antiguo 14-11-2007
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Cita:
Empezado por fide Ver Mensaje
Pero puedes continuar preguntando si necesitas algo okas...
Pues te tomo la palabra jeje... Ante todo muchas gracias por tu respuesta... pero no puedo hacer lo q me planteas... el por qué es muy facil y es que yo no controlo el cliente... yo solo estoy realizando el servidor... los clientes serán una serie de localizadores fabricados por sabe Dios que fabricante y eso... Por eso pregunto si es posible averiguar el host del cliente una vez se ha conectado... Estos clientes se conectan encima por GPRS aunque supongo q al fin y al cabo el tratamiento del socket será el mismo digo yo ... Otra pregunta: ¿El metodo OnExecute cuando se ejecuta?
Muchas gracias por todo fide
Responder Con Cita
  #4  
Antiguo 15-11-2007
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
se puede

cuando recibas el onconnect
accedes a athread.Connection.Socket.Binding.PeerIP y athread.Connection.Socket.Binding.PeerIP, y ya tienes la ip remota del cliente y el puerto que usa para conectar.

tambien puedes resolver el nombre , creo que con gstack , o con dnsresolver no estoy seguro

saludos.
Responder Con Cita
Respuesta



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
Sockets Caral Varios 4 29-08-2006 22:29:39
Sockets en delphi 7? jam888 Varios 2 17-05-2006 23:34:23
ADO y Sockets krilea Conexión con bases de datos 3 21-04-2005 22:38:55
Sockets con DB Slash Internet 1 08-07-2004 19:58:18
sockets the darkness Internet 7 28-04-2004 18:56:13


La franja horaria es GMT +2. Ahora son las 09:24:22.


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