J'utilise un socket pour une application de chat et je reçois une SocketException de manière inattendue. Comment cette exception doit-elle être traitée ? Actuellement, je reconnecte simplement le socket. Comment m'assurer que mon socket est actif au niveau de l'application ? Je connais la méthode setKeepAlive.
Réponse
Trop de publicités?A SocketException
indique une erreur au niveau du réseau, généralement une erreur TCP/IP.
Vous pouvez traiter cette situation de deux façons : laisser votre application décider s'il s'agit d'un problème constant (pare-feu, mauvaise connexion, etc.) et en informer l'utilisateur, ou si le problème est temporaire et peut être résolu, auquel cas vous devez essayer de vous reconnecter à la socket.
setKeepAlive()
n'a rien à voir avec redémarrage de la connexion. Il ne fait qu'envoyer des paquets keep-alive pour que la connexion ne soit pas interrompue.