Bonjour,
J'ai un petit problème de performance youhou !
J'ai essentiellement changé les lignes suivantes:
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Selector selecteur = Selector.open(); // on enregistre notre serveur auprès du selecteur qu'on vient de créer (en mode accept) ssc.register(selecteur, SelectionKey.OP_ACCEPT);
Edit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SocketChannel client = ssc.accept(); // on le configure en mode non bloquant pour pouvoir l'enregistrer avec le selecteur client.configureBlocking(false); SelectionKey clientKey = client.register(selecteur, SelectionKey.OP_CONNECT | SelectionKey.OP_READ | SelectionKey.OP_WRITE, player);
Une fois la connection établit entre le client et le serveur, les deux saturent les machines, CPU à 100%.
Mauvaise gestion des selectors? manipulation des clefs? Est-il nécassaire d'utuliser des wakeup? (je n'en utilise pas...)
Merci.
Partager