Il me semble qu'il y a une sorte de limitation dans la création de socket dans MIDP. J'ai besoin de faire beaucoup de connexions à un serveur (pas de concourrent) et dans le quatrième ou le cinquième, mon ordinateur tombe en panne. Il se bloque dans le simulateur et dans mon vrai appareil aussi.Socles limités à midp?
Pour isoler toute possibilité d'être influencé par mon code, j'isolé le code suivant:
try {
StreamConnection c;
StringBuffer sb = new StringBuffer();
c = (StreamConnection) Connector.open(
"http://www.cnn.com.br/", Connector.READ_WRITE);
InputStreamReader r = new InputStreamReader(c.openInputStream(), "UTF-8");
System.out.println(r.read());
c.close();
} catch (IOException ex) {
ex.printStackTrace();
}
Ce code se bloque dans le 13e essai.
J'ai essayé d'ajouter un sommeil de 10 secondes à l'intérieur d'une boucle while, et il se bloque au 13ème essai aussi.
Le message crash est:
java.io.IOException: Resource limit exceeded for TCP client sockets
- com.sun.midp.io.j2me.socket.Protocol.open0(), bci=0
- com.sun.midp.io.j2me.socket.Protocol.connect(), bci=124
- com.sun.midp.io.j2me.socket.Protocol.open(), bci=125