Aller au contenu

Java Selectors


Wooden

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...