PDA

Ver la Versión Completa : TidTCPClient emular OnReceive


MaMu
06-12-2008, 19:32:59
TidTCPClient emular OnReceive

Indy 10

A ver, pido ayuda simpaticamente y con este cantito:
(Autenticos Decadentes : La guitarra)


"Tengo un problema de dificil solución
en este Delphi tan querido de mi vida,
me puse con las Indy a programar,
pero quedé con un problema sin salida..

Yo tenía un código limpio y normal
pero en las Indy no encontré lo que quería
Mi sockets reveldes se imponían
del refused, del Buffer y la exception

Y tuve una revelación..
se me ocurrió lo que quería
voy a seguir codeandolo
buscando ayuda en el Foro... y conpania

Porque yo
lo quiero programar,
lo quiero terminar,
no quiero renunciar.
Quiero programar con el Delphi todo el dia,
y que la gente use mi cliente sock.

Porque yo
lo quiero programar,
lo quiero terminar,
no quiero renunciar.
Y en la pantalla tenia
un error de aquello,
que me sonaba como
un ruido de exception

Vos
mejor que programes,
mejor que lo busques, mejor que lo arregles.
Ya me cansé de que refuses con certeza,
te voy a dar con las Indy en la cabeza.

Vos
mejor que programes,
mejor que lo busques, mejor que lo arregles.
Ya me cansé de ser tu Server companiero,
voy a ponerte esa Indy de sombrero.

Y tuve una revelación..
se me ocurrió lo que quería
voy a seguir codeandolo
buscando ayuda en el Foro... y conpania

Porque yo
lo quiero programar,
lo quiero terminar,
no quiero renunciar.
Quiero programar con el Delphi todo el dia,
y que la gente use mi cliente sock.

Porque yo
lo quiero programar,
lo quiero terminar,
no quiero renunciar.
Y en la pantalla tenia
un error de aquello,
que me sonaba como
un ruido de exception"

En fin, Como puedo implementar un OnReceive? un timer? un Thread?
Lo que quiero, es poder recibir lo que me responde el server por Evento.
Porque, si me quedo bucleando haciendo Readln se cuelga, y no le hace caso al TimeOut.

Saludos y muchas gracias

MaMu
06-12-2008, 21:20:13
En algun lado lei que la solucion es utilizar un IdCmdTCPClient, e ir controlando el evento OnCommad, segun los comandos creados.
Alguien tiene algun ejemplo simple, para ver como trabaja este componente?

Saludos

Delfino
07-12-2008, 23:51:53
Como puedo implementar un OnReceive?
Puedes ligar un componente TIdLogEvent al cliente tcp y ese si q tiene esos eventos,
o usar el TIdCmdTCPClient y interceptar el evento OnBeforeCommandHandler o crear commandos y usar su evento OnCommand..

MaMu
08-12-2008, 00:31:31
Puedes ligar un componente TIdLogEvent al cliente tcp y ese si q tiene esos eventos...

Y cómo los ligo? como se hace esta relación?

Saludos

vejerf
29-01-2009, 16:50:48
Hola,

He recuperado este hilo xq estoy interesado en conseguir que un servidor implementado con un TIdTCPServer envíe comandos a un TIdTCPClient. He visto que se puede hacer interceptando lo q envía el servidor a el cliente con un TIdLogEvent. Bueno la cosa es q no consigo averiguar como funciona bien este componente. Para probarlo lo que he hecho es un servidor que cuando acepta una conexión envía al cliente la cadena 'hola'. Pues bien aparentemente no llega nada al cliente, sin embargo, cuando desconecto si que me aparece lo que ha recibido. ¿Alguna idea de por qué ocurre esto? ¿Algún ejemplo de funcionamiento?
Gracias!!!