Autor
|
Tema: Read timeout (Leído 2,371 veces)
|
Xedrox
Desconectado
Mensajes: 274
|
Hola gente , como os va?
Les hago una consultonta, resulta ser que tengo un programa "Java" que se conecta como cliente (usando la clase Socket) a otro programa. Para leer un mensaje, uso la clase "DataInputStream", el metodo (int read(bytes[])". Resulta ser que muchas veces me conecto a este programa satisfactoriamente, pero a veces no me contesta y me quedo en un "read" eterno, conoces alguna manera de ponerle un timeout a ese read?
Muchas Gracias Saludos!
|
|
|
En línea
|
|
|
|
0vatsug
Desconectado
Mensajes: 8
Programmer Attempt
|
El método connect de la clase Socket acepta un timeout como segundo parámetro. Ejemplo: try { int port = 80; SocketAddress sockaddr = new InetSocketAddress(addr, port); // Crea un socket int timeout = 5000; // medida en milisegundos = 5 seg. /* Conecta el socket con el servidor con un timempo limite especifico (5s) Si llega el tiempo limite, una SocketTimeoutException sera lanzada */ socket.connect(sockaddr, timeout); System. out. println("Socket connected..." + socket ); } } throw new IOException("Error en el flujo de comunicacion "+ioe. getMessage()); } }
Capturando las excepciones lanzadas puedes manejar la lógica de tu aplicación para que no se quede congelada y puedas volver a intentar conectarte. Lo que tienes que mirar es por qué razón esas veces no conecta. Bendiciones.
|
|
« Última modificación: 29 Agosto 2014, 01:05 am por 0vatsug »
|
En línea
|
|
|
|
Chuidiang
|
Hola:
El timeout de connect es para la conexión, no afecta a los read. Para el read(), llama a
socket.setSoTimeout( timeout en milisegundos)
Basta llamar a este método una sola vez, no es necesario hacerlo en cada read.
Te saltará una excepción java.net.SocketTimeoutException si salta el timeout en el read.
Se bueno.
|
|
« Última modificación: 5 Septiembre 2014, 20:47 pm por Chuidiang »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Servlet (Connection Timeout)
Java
|
BlaineMonkey
|
4
|
5,523
|
17 Junio 2010, 10:32 am
por BlaineMonkey
|
|
|
Timeout en mètodo connect de SocketChannel
Java
|
RyogiShiki
|
0
|
2,410
|
16 Agosto 2011, 04:28 am
por RyogiShiki
|
|
|
Controlar TimeOut en conexión
Java
|
imaginawireless
|
4
|
6,050
|
23 Febrero 2012, 04:41 am
por RyogiShiki
|
|
|
Busqueda con resultados en blanco(timeout)
PHP
|
RubenLL
|
3
|
1,994
|
5 Noviembre 2012, 13:08 pm
por RubenLL
|
|
|
Controlar Timeout mediante un EJB
« 1 2 »
Java
|
routerico
|
12
|
6,479
|
2 Febrero 2015, 21:04 pm
por Usuario Invitado
|
|