Gestión de bloques IQ, PRESENCE y MESSAGE de los servidores

Contenido archivado

El contenido de la web se encuentra archivado y no se podrá crear nuevo contenido. Más información.

Tagged:

No sé si esto lo indica el protocolo o no, a ver si sabéis vosotros, es por no tener que leerme de nuevo tooodo el Core.

Hay 3 tipos de bloques, los IQ, los PRESENCE y los MESSAGE. Hasta ahora todos los servidores me habían enviado un bloque por paquete tcp (un por ejemplo), o varios paquetes para un mismo bloque (como es el caso del roster o datos grandes en base64). El caso que no se me había dado hasta ahora era que en un mismo paquete tcp me enviara por ejemplo dos .

Me ha sucedido al enviar dos peticiones y la respuesta de estas ser muy grande (en una pedía la vCard y en otra el iq:avatar). Al ser las dos respuestas algo pesadas, por las imágenes en base64, he visto que me manda en un mismo paquete tcp dos . Las dos incompletas, que al juntarlas para completarlas forman un solo paquete con dos bloques.

Pues eso, si alguno sabe... no sé si es que hasta ahora era casualidad que cada bloque fuese en un paquete diferente, pero si no es la norma habrá que parsear el xml para separar bloques en casos como este.