¿Cuál es el tiempo de espera predeterminado de java.net.Socket en android?

Estoy desarrollando una aplicación móvil para Android. Allí, he creado socket y transferencia de datos entre móviles android y aplicaciones de Windows (que se ejecuta en pc, portátil). Estoy usando android 2.3

Prueba móvil samsung galaxy pop
El PC y los móviles están conectados vía tithering del USB.
La transferencia de datos correctamente.
Pero un problema está en el medio de la aplicación el tithering cancelado por desenchufar el capelo usb móvil del sistema, entonces i lanza excepción.

Pero algunas veces no a través de ninguna excepción simplemente espera, Socket también no cerrado espera datos para lectura
Por lo tanto, envíe el tiempo predeterminado socket time out en android

Mis códigos de muestra se dan a continuación

Socket socket=null; DataOutputStream dos=null; OutputStream os=null; InputStream is=null; DataInputStream dis=null; try { Log.i(tagName, "b4 creating socket"); socket=new Socket(this.getIpAddress(),this.getPort_number()); is=socket.getInputStream(); dos=new DataOutputStream(os); dis=new DataInputStream(is); } catch(UnknownHostException unknown_ex) { Log.i(tagName, "Exception host unknown : "+unknown_ex.toString()); unknown_ex.printStackTrace(); } catch(IOException ioe_ex) { Log.i(tagName, "ioe Exception : "+ioe_ex.toString()); ioe_ex.printStackTrace(); } catch(Exception ex) { Log.i(tagName, "Exception : "+ex.toString()); ex.printStackTrace(); } if(dos!=null) { try { dos.close(); } catch(Exception ex) { } } if(dis!=null) { try { dis.close(); } catch(Exception ex){} } if(socket!=null) { try { socket.close(); } catch(Exception ex) { } } socket=null;dos=null;dis=null; Log.i(tagName, "MySocketConnection.connectMe() - end"); 

Cuando uso el código

 Socket.getSoTimeout() 

Entonces devuelve 0.

Por favor todos son dar sus ideas.

El tiempo de espera de lectura de socket predeterminado es infinito, como se dice en el Javadoc , "Un tiempo de espera de cero se interpreta como un tiempo de espera infinito". Si desea un valor finito, llame a Socket.setSoTimeout().

No sé el tiempo de espera por defecto use this.socket.setSoTimeout(5000); Pero puede intentar establecer un valor de tiempo de espera más alto. Aquí 5000 milisegundos significa 5 segundos. Espero que esto solucione su problema.

  • Captura de paquetes de red en Android?
  • Conexión de socket SSL
  • Androide, socket, programación, atrás, router
  • Cómo enviar el archivo binario y el texto usando el mismo socket
  • El arranque del emulador atascó la estructura x86 en AOSP 4.3 con el emulador: Error al conectar con el zócalo '127.0.0.1:1970'
  • Cliente Android / socket de servidor Java; Android enviar pero no recibir?
  • Reenvío de puertos Android
  • Proteger un socket en VpnService
  • Android M doze modo y socket "nativo" posix congelado
  • Android: ¿Cómo detectar la aplicación eliminada de la lista de aplicaciones recientes?
  • Cómo pasar datos del servidor a la aplicación de Android: REST vs Sockets
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.