Wooden Posted October 31, 2005 Share Posted October 31, 2005 J'aimerai bien savoir commant recuperer le nombre de connexions attachées a un Selector en java: j'ai un private Selector _selector; et je voudrait une function genre public int getConnectionNumber() j'avais tenté public int getConnectionNumber() { return _selector.keys().size(); } vu que keys() retourne toute les SelectionKey du selector et que les conenxion non valides sont supprimées de ce Set (aussi bien celle fermé par une erreur distante que par un .close()) mais ça ne marchais pas, vu que le Set renvoyé pas .keys() n'est pas thread safe, j'ai tenté en synchronisant: public int getConnectionNumber() { Set<SelectionKey> tempSet = _selector.keys(); int connections = 0; synchronized(tempSet) { connections = tempSet.size(); } return connections; } mais pas plus de chance, ça retourne bien un nombre, superieur à 0, qui pourrai parraitre juste mais apres une utlisation intensive du Selector on s'apperçoit que ce nombre n'est pas correct... une idée? à par bien sur de compter 'à la main' les connexion ajouter et celles fermées Link to comment Share on other sites More sharing options...
Wooden Posted November 20, 2005 Author Share Posted November 20, 2005 Pour ceux que ça interesse, en fait public int getConnectionNumber() { Set<SelectionKey> tempSet = _selector.keys(); int connections = 0; synchronized(tempSet) { connections = tempSet.size(); } return connections; } ça marche tres bien. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.