Was ist der Standard-Timeout-Wert von java.net.Socket in Android?

8

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 benutze android 2.3

Testing mobile Samsung Galaxy Pop
Der PC und Handys sind über USB-Tithering verbunden.
Die Datenübertragung ist korrekt.
Aber ein Problem ist in der Mitte der Anwendung das Tithering abgebrochen, indem Sie das mobile USB-Caple vom System trennen, dann löst ich Ausnahme aus.

Aber manchmal ist es keine Ausnahme, es wartet einfach, Socket auch nicht geschlossen wartet auf Daten zum Lesen
Also bitte senden Sie die Standard-Socket-Timeout-Zeit in android


Meine Beispielcodes sind unten angegeben.

%Vor%


Wenn ich den Code verwende

%Vor%


Dann gibt es 0 zurück.


Bitte geben Sie alle Ihre Ideen an.

    
SIVAKUMAR.J 26.08.2012, 07:25
quelle

2 Antworten

5

Das Standard-Socket-Lese-Timeout ist unendlich, wie es in Javadoc ," Ein Timeout von Null wird als unendliches Timeout interpretiert. " Wenn Sie einen endlichen Wert wünschen, rufen Sie Socket.setSoTimeout().

auf     
EJP 26.08.2012, 07:59
quelle
0

Ich kenne das Standard-Zeitlimit nicht, benutze this.socket.setSoTimeout(5000); , aber du kannst versuchen, einen höheren Timeout-Wert zu setzen. Hier bedeuten 5000 Millisekunden 5 Sekunden. Hoffe das behebt Ihr Problem.

    
user1613360 26.08.2012 07:31
quelle