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 26-01-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Lightbulb Problemas al recibir datos largos con Indy

Hola amigos. Tengo un problema que necesito solucionar pero no tengo idea de como hacerlo. Me sucede lo siguiente. Tengo un socket conectado a un servidor de jabber recibiendo todos los XML que este me envia. El problema es que cuando por ejemplo, solicitu la lista de contactos, me la manda en dos peticiones, cuando deberia de ser una. O sea que por alguna razon esta picando los datos en dos partes. Esto es un gran problema para mi ya que necesito esos paquetes completos y no fragmentados. Alguien tiene la idea de por que sucede esto?. Aqui les dejo un poco de codigo.

Dentro de un hilo que he creado, que ejecuto cuando el TCPClient se conecta tengo esto.

Código Delphi [-]
procedure TClientHandleThread.Execute;
begin
 with frmMain do
  begin
    while not Terminated do
    begin
      if not TCPClient.Connected then
        Terminate
      else
      try
          if not TCPClient.IOHandler.InputBufferIsEmpty then
          begin
            vg_datos_socket := TCPClient.IOHandler.InputBuffer.ExtractToString(TCPClient.IOHandler.InputBuffer.Size, TIdTextEncoding.UTF8, TIdTextEncoding.UTF8);
            Synchronize(HandleInput);
          end;
      except
      end;
    end;
  end;
end;

El IOHandler que le tengo asignado al TCPClient es un TidSSLIOHandlerSocket. Por que la conexion es sobre SSL hacia mi servidor. Pero por ejmplo cuando los datos se pasan de 16 KB me los pica en varios pedazos de 16 KB cada uno. En dependencia del tamaño claro. ALguna idea de como puedo resolver esto?

Haa, HandleInput es una funcion que tengo que es la que procesa lo que me llega. Pero repito, los paquetes grandes estan llegando en pedasos y eso me da mucho problema. Gracias desde ya !
Responder Con Cita
  #2  
Antiguo 02-02-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Alguna idea please ?
Responder Con Cita
  #3  
Antiguo 02-02-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Estoy por crees que es un bug de la Indy 10. Espero que en un futuro queden claras cosas como estas !
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
Ayuda con IdMessage al recibir correo con idPop3 (Indy 9) Claucod Internet 3 17-12-2010 16:50:09
idudpserver INDY deja de recibir chelox Internet 0 28-10-2010 18:03:43
Recibir mensajes con Indy tec Internet 2 26-02-2010 15:43:46
Recibir datos del puerto serie en bytes. REHome .NET 1 31-10-2008 17:50:10
¿Recibir mail con MailClient de las Indy con SSL? NPIdea Internet 0 25-11-2005 09:05:10


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


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