Comment puis-je attraper le SocketTimeoutException
Dire que j'ai un socket variable appelée SuperSocket est-il possible que je peux attraper l'exception délai ?
SuperSocket.setSoTimeout(5000);
catch (SocketTimeoutException e){
System.out.println("Timeout");
System.exit(1);
}
Vous l'attraper. Quelle est la question?
Mon Spidey Sens me dit que l'OP n'a pas compris ce
Probablement une assez bonne deviner. Je ne te dérange pas, moi-même.
Mon Spidey Sens me dit que l'OP n'a pas compris ce
setSoTimeout
n', et que vous auriez à ne quelque chose avec le Socket
qui pourrait peut-être temps de sortir et jeter cette exception avant, vous seriez capable de l'attraper.Probablement une assez bonne deviner. Je ne te dérange pas, moi-même.
OriginalL'auteur Sandeep Johal | 2012-12-06
Vous devez vous connecter pour publier un commentaire.
Vous semblez ne pas comprendre ce que
setSoTimeout()
ne et quand cette exception sera levée.De la Javadoc: ( http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html )
Le seul moment où un
SocketTimeoutException
peut être lancé (et puis attrapé), c'est quand vous faites un blocage de lire sur leSocket
's sous-jacentInputStream
et aucune donnée n'est reçue dans le délai spécifié (causant le lire ... le temps).Modifier pour ajouter: Il y a en fait une autre occasion, l'exception peut être levée, et que, si vous appelez les deux argument de la version de
Socket.connect()
où vous fournir un délai d'attente.OriginalL'auteur Brian Roach