Java - clientabortexception java.net.socketexception socket write error

 
Vista:

clientabortexception java.net.socketexception socket write error

Publicado por Newbie83 (37 intervenciones) el 12/09/2014 11:47:34
Buenos días a todos.

En una aplicación web, que cuenta con un total de 40 usuarios, me ha ocurrido, sólo una vez en uno solo de esos 40 usuarios, que al hacer clic en un botón que realiza un update en la base de datos, por ejemplo, o una inserción, sale el mensaje:

clientabortexception java.net.socketexception socket write error

Quisiera saber qué significa y cómo solucionarlo, si es posible.

Muchas gracias.

Un saludo,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

clientabortexception java.net.socketexception socket write error

Publicado por Pedro (81 intervenciones) el 12/09/2014 14:22:25
¿Te ha salido solo una vez?, ¿O te sale siempre pero solo con un usuario?

El error lo que dice es que el socket se ha cerrado porque el cliente aborto la conexión. ¿Aparece en la traza algo como "Connection Reset By Peer?

El motivo por el cual el cliente hace eso puede ser desde que el Windows no pudiese alojar más sockets, a que el navegador se cuelge, un firewall, etc.

Las excepciones como esta puedes manejarlas pero no solucionarlas. Si el cliente cierra la conexión, no puedes hacer nada para evitarlo, simplemente recuperar la información que puedas y sea util para el log.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

clientabortexception java.net.socketexception socket write error

Publicado por Newbie83 (37 intervenciones) el 12/09/2014 17:06:35
Buenas tardes Pedro.

Gracias por la respuesta.

Efectivamente, me aparece lo que dices de Connection Reset By Peer. Solo me ha ocurrido en un puesto de un usuario. Lo que ocurría es que al dar al botón (por ejemplo, un botón que hace simplemente que se cree un registro), el navegador (internet explorer 7, sí, la edad de piedra, no sé si tendrá que ver con el problema) se quedaba esperando unos segundos para finalmente salir ese error. Al dar con la flecha de "Atrás" y probar de nuevo, ya funcionaba.

Repito, eso me ha ocurrido solo con un usuario, pero un par de veces durante la misma sesión.

Mi mayor preocupación es si este error se puede deber a temas de concurrencia, a que varios usuarios estén trabajando a la vez. Mi sistema no utiliza frameworks de ningún tipo. ¿Puede haber relación?

Muchísimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

clientabortexception java.net.socketexception socket write error

Publicado por Pedro (81 intervenciones) el 12/09/2014 17:31:57
Buenas,

Cada socket ocupa un "pedacito" de recursos en el sistema operativo, si fuese problema de tu servidor o aplicación el error sería diferente.

Si ha aparecido Connection Reset By Peer es que el IE7 cerró la conexión por la cara.


No creo que debas preocuparte por tu parte, lo que puedes hacer es ver si el usuario en ese momento usa el Torrent o si tiene algún malware raro en su pc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

clientabortexception java.net.socketexception socket write error

Publicado por Newbie83 (37 intervenciones) el 12/09/2014 17:45:23
Hola otra vez.

¿Entonces descartado el posible problema de concurrencia? Es un ordenador de empresa, hay muchas páginas "capadas" y lo del torrent no sería posible… un malware es muy complicado por la misma razón.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

clientabortexception java.net.socketexception socket write error

Publicado por Pedro (81 intervenciones) el 12/09/2014 18:38:23
Si el problema es de concurrencia se repetiría la excepción pero aleatoriamente entre todos los usuarios. Por problemas de concurrencia sería que el servidor no pueda encolar más sockets y dentro de una lan, 40 usuarios suponiendo una concurrencia del 100%, los 40 pidiendo a la vez, no es número alto de conexiones como para fallar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

clientabortexception java.net.socketexception socket write error

Publicado por Newbie83 (37 intervenciones) el 12/09/2014 19:02:48
Estupendo, pues nada. Seguiré el problema de cerca y trataré de controlarlo… a través de ficheros log, etc.

Muchas gracias por la lección.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar