Estoy desarrollando una aplicación móvil para Android. Allí, estoy creando un socket y transfiero datos entre los móviles android y la aplicación de Windows (que se ejecuta en una computadora portátil). Estoy usando androide 2,3¿Cuál es el valor de tiempo de espera predeterminado de java.net.Socket en Android?
móvil de pruebas Samsung Galaxy pop
el PC y móviles están conectados a través de USB tithering.
La transferencia de datos es correcta.
Pero un problema es que en la mitad de la aplicación, el titionamiento se cancela desenchufando el caple del usb del sistema, entonces arrojo una excepción.
Pero algunas veces no lo hace a través de cualquier excepción que simplemente espera, Socket también no espera cerrados para los datos para la lectura
Así que por favor enviar el tiempo de toma de espera predeterminado vez en Android
Mis códigos de muestra se indican 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 utilizo el código
Socket.getSoTimeout()
Luego devuelve 0.
Por favor, todos dan sus ideas.
¿Cuál es el valor que obtiene cuando llama a 'Socket.getSoTimeout()'? –