Título: Problema extraño al recibir string por socket TCP (ANSI-C + Berkeley sockets) Publicado por: Scott Code en 6 Noviembre 2011, 19:31 pm Para recibir una página web uso este código:
Código
El analizador de protocolos (Wireshark) muestra como mi tarjeta de red recibe toda la web: Código: Content-encoded entity body (gzip): 10948 bytes -> 54872 bytes Sin embargo, en preply (es dónde se almacena el código de la página web) tiene el tamaño de 383 (valor dado por la función strlen). Es de 383 para cualquier petición que haga (lógicamente si el tamaño de la página web sobrepasa esa cantidad). De alguna manera preply está limitado a 383 bytes por algún error al usar las funciones de sockets, o eso llego a entender. preply apunta a un array reply de 200.000 elementos de tipo char. Osea, que TAM_REPLY está definido así: Código
¿A alguien se le ocurre porque no puedo recibir todo el código de la web? Gracias de antemano Título: Re: Problema extraño al recibir string por socket TCP (ANSI-C + Berkeley sockets) Publicado por: Scott Code en 6 Noviembre 2011, 20:44 pm Añadiendo este printf para ver cuantos bytes recibe
Código Imprime: leidos 1412 383 leidos 1412 12 leidos 1412 279 leidos 1412 80 leidos 1412 122 leidos 1412 231 leidos 1412 116 leidos 1442 375 Cómo es posible que recv lea 1412 bytes y que almacene menos en temp? Me estoy volviendo loco con esto :-( |