Problème de perf (NIO SocketServerChannel)
Bonjour,
J'ai un petit problème de performance :yaisse2: youhou !
J'ai essentiellement changé les lignes suivantes:
Code:
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); |
et
Code:
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); |
Edit:
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.