2009-10-26 4 views
2

J'ai eu le pire moment de ma vie en essayant de comprendre pourquoi cela se produit, toute contribution serait grandement appréciée.application MIDP, bloquée par Connector.Open (..)

Le code en question s'exécute dans un thread différent puis le midlet, bien que le thread commence après la connexion, j'ai essayé l'inverse et je me retrouve au même endroit.

Lors de l'exécution de cette ligne (avec une adresse de serveur de travail et éprouvée bien sûr):

this.socket = (SocketConnection) Connector.open(url); 

rien ne se passe et quand je frappe pause dans debug il me faut à ce msg:

@exception IllegalMonitorStateException if the current thread is not 
the owner of the object's monitor. 
+0

ça vous amène au javadoc? Cela n'a aucun sens. –

+0

En fait, cela m'amène à la documentation au-dessus de la méthode d'attente, j'ai réussi à obtenir ce semi-fonctionnement, j'ai appris que si je commence la connexion pendant la startlet startApp alors c'est bien, sinon ça bloque encore , à moins qu'il n'y ait une règle disant qu'une application midp ne peut se connecter qu'au démarrage dont je ne suis pas au courant, ce qui expliquerait cela ... – Dor

+1

Je vous suggère de nous en dire plus sur le téléphone/émulateur que vous utilisez et que vous publiez une partie du code autour de la ligne que vous avez posté jusqu'à présent. Êtes-vous sûr à 100% de savoir comment fonctionne un moniteur Java? –

Répondre

0

Je pense que vous devriez implémenter votre socket et votre code réseau/modules dans un thread séparé.

Questions connexes