Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Alogo parecdo al evento onread en idtcpclient de las indy (https://www.clubdelphi.com/foros/showthread.php?t=10564)

leury 22-05-2004 08:09:19

Alogo parecdo al evento onread en idtcpclient de las indy
 
Apenas empiezo con los componetes indy, y me topo con algo que parece ser una excepcion en ellos, en el componente idtcpclient no encuentro evento onread como en clientsocket, pero supongo que habra algun otro metodo que lo sustitulla (ya sea con codigo o con la ayuda de otro componente) de manera funcional y efectiva.

¿En el componente idtcpclient de las indy, que evento me dice que el servidor me ha enviado datos, para asi luego leerlos?
De Atemano:
Gracias por sus colaboraciones.

ATT:

Leury.


"NO AL TABACO: POR QUE PULMONES SOLO TENEMOS DOS"
"SI ALA MARIGUAN: POR QUE NEURONAS TENEMOS MILES"

DarkByte 22-05-2004 09:31:56

¿Te da el error también al acoplarlo en un nuevo proyecto?, a mi también me da ha dado ese error a veces, y es que había puesto una letra delante del procedure o cualquier tontería así.

jachguate 23-05-2004 07:22:53

Hola.

Los datos que envia el servidor los lees con los métodos ReadLn, ReadInteger, ReadStream, en fin... Read*

Hasta luego.

;)

leury 23-05-2004 20:35:14

Bien jachguate, a lo mejor no fui claro con la pregunta, pero mi duda es en que evento del idtcpclient me dice que el servidor me ha enviado datos.
para asi saver en que momento leerlos.

Gracias.

DarkByte 23-05-2004 21:33:07

Puedes tener un timer leyendo todo el día a ver si recibe datos.

leury 24-05-2004 07:25:07

Bien Darkbyte, pero ya lo intente y me causa muchos problemas no se por que ocaciona que mi aplicacion se bloque, hasta que es desconectada.

Alguna otra Sugerencia.. :)

Gracias...

Ahora estoy probando con un Idconnectionintercept asociado al Idtcpclient,
En su propiedad onreceive, pero no consigo nada.


Alguna otra Sugerencia..

De Nuevo Gracias...

leury 14-06-2004 08:40:20

Antes que nada Muchas Gracias por averme ayudado.

Les informo que encontre la solucion a mi problema.

Una solucion practica fue la expuesta por DarkByte, pero como ya lo mencione me ocacionaba problemas cuando el servidor dejaba de enviar datos por un periodo de tiempo.

La solucion fue crear el siguiente Threard Object, que esta dormido mintras no haya datos que leer:

Código Delphi [-]
procedure escucah.Execute;
var
  Com,
  Msg : String;
begin
while true do 
     with Form1 do
       begin
        if not IdTcpClient1.Connected then
         exit;

        Msg := IdTCPClient1.ReadLn(); //Espero hasta que un dato sea enviado por el servidor
        memLines.Lines.Add(Msg);
  
        end;

end;


Gracias por Todo.

Poke 21-09-2007 21:24:52

Ayuda
 

Disculpen mi problema en estos momentos es el mismo si me pudieran ayudar, es decir en donde coloco el código de que manifiestas, me ayudarías bastante, tb. Estoy realizando una aplicación similar y me da error es decir el cliente se me cuelga cuando no recibe ningún dato.

jachguate 25-09-2007 07:15:28

Has visto en que llamada se queda colgado el programa?


La franja horaria es GMT +2. Ahora son las 16:29:57.

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