Java SocketChannel n'est pas détecter la déconnexion?

J'ai un socket en cours d'exécution, à l'aide de sélecteurs. Je suis en train de vérifier pour voir si mon socket est connecté au serveur ou pas.

Boolean connected = _channel.isConnected();

et il retourne toujours true. J'ai éteint l'Aéroport (connexion internet) sur mon ordinateur, et quand je vérifie pour voir si le socket est connecté ou pas, il renvoie la valeur true.
Aucune idée pourquoi?
J'essaie d'écrire des données sur le serveur toutes les 3 secondes, et cela ne change pas l'état de ma prise de déconnecté.

  • Je suis un peu perdu, quelqu'un ne cesse de changer le titre de mes questions. Ce qui se passe ici?
  • Avec le code ci-dessus pour vérifier si la SocketChannel est toujours connecté. Qu'est-ce exactement avez-vous fait les tests, le support, comme indiqué dans la question ou la chaîne comme décrit dans le titre et indiqué dans le code? Juste demander, parce que les gens ont commencé à downvoting ma réponse... (sans expliquer pourquoi...)
  • 1 - fermer manuellement le socket, en appelant la méthode, c'est pourquoi vous obtenez faux après avoir déconnecté du serveur, dans mon cas, je suis en train d'essayer de détecter si il y a une déconnexion de la question, par exemple "perte de connexion", de sorte que la douille ne les détecte pas qu'il est déconnecté, à moins que j'essaie d'envoyer un message au serveur et obtenir une exception. 2 - j'ai également dit que je suis l'aide d'un sélecteur. donc isConnected méthode ne démontrent pas si je suis connecté au serveur ou pas, mais cela montre que, si mon socket est toujours connecté à le sélecteur ou non, qui renvoie vrai que mon socket est connecté à l'sélecteur
InformationsquelleAutor aryaxt | 2010-08-14