Salut à tous,
Je suis confronté à un problème un peu bizarre, voilà le code :
Tout fonctionne, sauf que l'opération socketChannel.register() prend environ une minute la plupart du temps (environ 9 fois sur 10, de temps en temps ca passe directement).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 try{ socketChannel = SocketChannel.open(new InetSocketAddress(destInet, 2000)); } catch(IOException ioe){ ... } try{ socketChannel.configureBlocking(false); System.out.println("register"); socketChannel.register(selector, SelectionKey.OP_READ); System.out.println("end register"); } catch(ClosedChannelException cce){ ... } catch(IOException ioe){ ... }
Dans l'api il est mis que cette opération peut bloquer si une invocation de configureBlocking() est en cours, mais dans mon cas le configureBlocking() doit manifestement être terminé (et c'est le seul endroit du code où j'y fait appel).
Toutes les suggestions sont les bienvenues...
Merci.
Partager