Pregunta: | 50773 - MENSAJE MUY GRANDE PARA SER LEíDO POR SOCKET |
Autor: | PedroHV HDEZ |
Hola a todos:
Estoy haciendo algo que tiene que ver con sockets. Resulta que estoy recibiendo una gran cantidad de mensajes de una aplicación servidor que no he hecho yo, pero llega un momento en que no se recibe ningún mensaje, disparándose un excepción de falta de memoria. Supongo que se está llenando el InputStream del socket. Aunque eso creo que debería solucionarlo la MV de Java. Lo mismo pasa cuando el mensaje que me envían es demaciado grande, estoy hablando de unos 30MB. Ya sé que los mensajes son muy grandes, pero resulta que otra aplicación, dicho sea de paso, hecha en .Net, interactuó con el mismo servidor y no tuvo problemas en recibir el mensaje. Si me pudieran ayudar u orientarme cómo solucionar ese problema les estaría muy agradecido. Saludos a todos. |
Respuesta: | Jacinto Obispo |
Pedro,
La cantidad de bytes que admite un socket lo puedes definir mediante el método setReceivedBufferSize(int size); Con respecto al otro problema, no se que puede estar pasando, habría que mirar el código. En todo caso por ahorrarse crear un protocolo para fragmentar paquetes esta gente ha hecho una burrada, es mucha información para un paquete de datos. |