Java - DUDA SOBRE SOCKET

   
Vista:

DUDA SOBRE SOCKET

Publicado por Luis (8 intervenciones) el 03/11/2009 12:28:27
Buenos días a tod@s.

Necesito realizar desde un programa Java una conexión con Socket a un aparato de medida para hacerle peticiones cada segundo. Para ello, creo el Socket y lo mantengo abierto ya que hablamos de tráfico cada segundo (envío el mensaje y espero respuesta).

La cuestión es que, en aplicaciones que hice anteriormente que pedían datos cada minuto, cuando intenté crear el socket y dejarlo abierto me encontraba el socket cerrado al pedir el dato al minuto siguiente. Es como si el socket se cerrara automáticamente al pasar un tiempo.

No uso Modbus ni nada parecido, se envían y reciben cadenas de texto simplemente. Solo utilizo la clase Socket de Java.

Resumiendo: ¿la clase Socket de Java tiene un parámetro que defina el cierre automático?, en caso de existir, ¿cómo se modifica?. He mirado de arriba a abajo la API y no encuentro nada parecido.

Gracias.
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

RE:DUDA SOBRE SOCKET

Publicado por Sebastian (1 intervención) el 03/11/2009 18:33:50
Hola Luis,

según leí y use sockets no debería pasar eso hasta que se ejecute la sentencia close del socket, lo que podrías hacer es levantar el socket en otro puerto y revisar que no este sucediendote lo mismo o en todo caso ponerle un log para ver a que momento pasa eso
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

RE:DUDA SOBRE SOCKET

Publicado por Luis (8 intervenciones) el 04/11/2009 09:02:34
Gracias por contestar.

Seguramente, el aparato al que me conecto me desconecta pasado un tiempo si mandarle ningún comando.

Lo que me **** de la clase Socket es que, intentaba preveer esto con isConnected y no funcionaba. Es decir, el método me decía que todo conectado y funcionando para después hacerme viejo esperando la respuesta, porque estaba desconectado al enviar el comando.

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

RE:DUDA SOBRE SOCKET

Publicado por Tom (914 intervenciones) el 04/11/2009 09:33:19
Prueba a establecer SO_KEEPALIVE en cuanto conectes tu socket.

Socket.setKeepAlive()
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