Ich entwickle eine mobile Anwendung für Android. Dort erstelle ich Sockel und Daten zwischen Android-Handys und Windows-Anwendung (die auf dem PC, Laptop ausgeführt wird). Ich verwende android 2,3Was ist der Standard-Timeout-Wert von java.net.Socket in Android?
Testing Handy Samsung Galaxy Pop
Der PC und Handys werden über USB tithering verbunden.
Die Datenübertragung ist korrekt.
Aber ein Problem ist in der Mitte der Anwendung das Tithering abgebrochen, indem Sie die mobile USB-Caple vom System trennen, dann löst ich Ausnahme aus.
Aber einige Male es nicht durch eine Ausnahme macht es einfach wartet, Socket auch nicht geschlossen wartet auf Daten zum Lesen
Also bitte weiter unten sind die Standard-Socket-Timeout Zeit in android
Meine Beispielcodes senden
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");
Wenn ich den Code
Socket.getSoTimeout()
Dann gibt es 0 zurück.
Bitte geben Sie alle Ihre Ideen.
Welchen Wert erhalten Sie, wenn Sie 'Socket.getSoTimeout()' aufrufen? –