[J2ME] Arreter un StreamConnectionNotifier.acceptAndOpen()
4 réponses
JScoobyCed
Bonjour,
J'utilise un StreamConnectionNotifier pour ouvrir une connection
serie (cote serveur).
Tous se passe bien pour ouvrir et attendre un client. Mon probleme est
au cas ou je souhaite interrompre le acceptAndOpen()
<code>
1: StreamConnectionNotifier notifier = null;
2: StreamConnection sconn = null;
3: // Connection RFCOMM (serie sur BlueTooth)
4: String url = "btspp://localhost:"+uuid;
5: try {
6: // Cree le StreamConnectionNotifier
7: notifier = (StreamConnectionNotifier)Connector.open(url);
8: // Attend un client pour creer une connection
9: sconn = notifier.acceptAndOpen();
10: } catch(Exception exc) { //... }
</code>
Ce que je cherche c'est de debloquer le code a la ligne 9 au cas ou
l'utilisateur appuie sur 'Annuler'. Ce code fonctionne sur un telephone
mobile munie de MIDP2 CLDC1 avec l'API BlueTooth. Si je fais appel a
notifier.close(), l'application se bloque et je dois l'eteindre et le
rallumer. Idem si je fais:
notifier = null;
(oui, c'est un peu sauvage...)
Toute info bienvenue.
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DNass
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
"JScoobyCed" a écrit dans le message de news:412962a3$0$18614$
Bonjour,
J'utilise un StreamConnectionNotifier pour ouvrir une connection serie (cote serveur). Tous se passe bien pour ouvrir et attendre un client. Mon probleme est au cas ou je souhaite interrompre le acceptAndOpen() <code> 1: StreamConnectionNotifier notifier = null; 2: StreamConnection sconn = null; 3: // Connection RFCOMM (serie sur BlueTooth) 4: String url = "btspp://localhost:"+uuid; 5: try { 6: // Cree le StreamConnectionNotifier 7: notifier = (StreamConnectionNotifier)Connector.open(url); 8: // Attend un client pour creer une connection 9: sconn = notifier.acceptAndOpen(); 10: } catch(Exception exc) { //... } </code>
Ce que je cherche c'est de debloquer le code a la ligne 9 au cas ou l'utilisateur appuie sur 'Annuler'. Ce code fonctionne sur un telephone mobile munie de MIDP2 CLDC1 avec l'API BlueTooth. Si je fais appel a notifier.close(), l'application se bloque et je dois l'eteindre et le rallumer. Idem si je fais: notifier = null; (oui, c'est un peu sauvage...)
Toute info bienvenue.
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread
principal "
si oui essaye de les lancer a partir d'un autre thread.
sa donne un truc du style
thread de l'appli qui lance un thread pour les connections
et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
"JScoobyCed" <pim@pam.poum> a écrit dans le message de
news:412962a3$0$18614$626a14ce@news.free.fr...
Bonjour,
J'utilise un StreamConnectionNotifier pour ouvrir une connection
serie (cote serveur).
Tous se passe bien pour ouvrir et attendre un client. Mon probleme est
au cas ou je souhaite interrompre le acceptAndOpen()
<code>
1: StreamConnectionNotifier notifier = null;
2: StreamConnection sconn = null;
3: // Connection RFCOMM (serie sur BlueTooth)
4: String url = "btspp://localhost:"+uuid;
5: try {
6: // Cree le StreamConnectionNotifier
7: notifier = (StreamConnectionNotifier)Connector.open(url);
8: // Attend un client pour creer une connection
9: sconn = notifier.acceptAndOpen();
10: } catch(Exception exc) { //... }
</code>
Ce que je cherche c'est de debloquer le code a la ligne 9 au cas ou
l'utilisateur appuie sur 'Annuler'. Ce code fonctionne sur un telephone
mobile munie de MIDP2 CLDC1 avec l'API BlueTooth. Si je fais appel a
notifier.close(), l'application se bloque et je dois l'eteindre et le
rallumer. Idem si je fais:
notifier = null;
(oui, c'est un peu sauvage...)
Toute info bienvenue.
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
Question est ce que tu lances les flux de connection a partir " du thread principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
"JScoobyCed" a écrit dans le message de news:412962a3$0$18614$
Bonjour,
J'utilise un StreamConnectionNotifier pour ouvrir une connection serie (cote serveur). Tous se passe bien pour ouvrir et attendre un client. Mon probleme est au cas ou je souhaite interrompre le acceptAndOpen() <code> 1: StreamConnectionNotifier notifier = null; 2: StreamConnection sconn = null; 3: // Connection RFCOMM (serie sur BlueTooth) 4: String url = "btspp://localhost:"+uuid; 5: try { 6: // Cree le StreamConnectionNotifier 7: notifier = (StreamConnectionNotifier)Connector.open(url); 8: // Attend un client pour creer une connection 9: sconn = notifier.acceptAndOpen(); 10: } catch(Exception exc) { //... } </code>
Ce que je cherche c'est de debloquer le code a la ligne 9 au cas ou l'utilisateur appuie sur 'Annuler'. Ce code fonctionne sur un telephone mobile munie de MIDP2 CLDC1 avec l'API BlueTooth. Si je fais appel a notifier.close(), l'application se bloque et je dois l'eteindre et le rallumer. Idem si je fais: notifier = null; (oui, c'est un peu sauvage...)
Toute info bienvenue.
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
JScoobyCed
DNass wrote:
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Ummm... Non, je le lance dans un Thread a part. C'est vrai que j'ai pas cherche a interrompre ce Thread... Je vais essayer, mais j'ai peur de tomber encore sur un blockage :) Qui ne risque rien n'a rien... Et le risque est faible: juste redemarrer le telephone. Merci
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
DNass wrote:
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread
principal "
si oui essaye de les lancer a partir d'un autre thread.
sa donne un truc du style
thread de l'appli qui lance un thread pour les connections
et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Ummm... Non, je le lance dans un Thread a part. C'est vrai que j'ai pas
cherche a interrompre ce Thread... Je vais essayer, mais j'ai peur de
tomber encore sur un blockage :) Qui ne risque rien n'a rien... Et le
risque est faible: juste redemarrer le telephone.
Merci
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
Question est ce que tu lances les flux de connection a partir " du thread principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Ummm... Non, je le lance dans un Thread a part. C'est vrai que j'ai pas cherche a interrompre ce Thread... Je vais essayer, mais j'ai peur de tomber encore sur un blockage :) Qui ne risque rien n'a rien... Et le risque est faible: juste redemarrer le telephone. Merci
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
JScoobyCed
DNass wrote:
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Bonjour,
Je ne pouvais arreter le Thread qui contenait le bout de code. J'ai donc bouge l'appel a la methode acceptAndOpen dans un Runnable: <code> private void acceptAndConnect() { Runnable runner = new Runnable() { public void run() { try { sconn = notifier.acceptAndOpen(); } catch(Exception exc) {} if(sconn != null) { doServer(); } } }; Thread thd = new Thread(runner); thd.start(); } </code>
Et bizarrement, l'appel a notifier.close() ne "crash" pas mon appli et je sors proprement du menu 'Server' pour retourner au menu principale. Merci du conseil.
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
DNass wrote:
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread
principal "
si oui essaye de les lancer a partir d'un autre thread.
sa donne un truc du style
thread de l'appli qui lance un thread pour les connections
et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Bonjour,
Je ne pouvais arreter le Thread qui contenait le bout de code. J'ai
donc bouge l'appel a la methode acceptAndOpen dans un Runnable:
<code>
private void acceptAndConnect() {
Runnable runner = new Runnable() {
public void run() {
try {
sconn = notifier.acceptAndOpen();
} catch(Exception exc) {}
if(sconn != null) {
doServer();
}
}
};
Thread thd = new Thread(runner);
thd.start();
}
</code>
Et bizarrement, l'appel a notifier.close() ne "crash" pas mon appli et
je sors proprement du menu 'Server' pour retourner au menu principale.
Merci du conseil.
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
Question est ce que tu lances les flux de connection a partir " du thread principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Bonjour,
Je ne pouvais arreter le Thread qui contenait le bout de code. J'ai donc bouge l'appel a la methode acceptAndOpen dans un Runnable: <code> private void acceptAndConnect() { Runnable runner = new Runnable() { public void run() { try { sconn = notifier.acceptAndOpen(); } catch(Exception exc) {} if(sconn != null) { doServer(); } } }; Thread thd = new Thread(runner); thd.start(); } </code>
Et bizarrement, l'appel a notifier.close() ne "crash" pas mon appli et je sors proprement du menu 'Server' pour retourner au menu principale. Merci du conseil.
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
DNass
a po de koi ;)
"JScoobyCed" a écrit dans le message de news:412aba5c$0$13684$
DNass wrote:
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread
principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Bonjour,
Je ne pouvais arreter le Thread qui contenait le bout de code. J'ai donc bouge l'appel a la methode acceptAndOpen dans un Runnable: <code> private void acceptAndConnect() { Runnable runner = new Runnable() { public void run() { try { sconn = notifier.acceptAndOpen(); } catch(Exception exc) {} if(sconn != null) { doServer(); } } }; Thread thd = new Thread(runner); thd.start(); } </code>
Et bizarrement, l'appel a notifier.close() ne "crash" pas mon appli et je sors proprement du menu 'Server' pour retourner au menu principale. Merci du conseil.
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
a po de koi ;)
"JScoobyCed" <pim@pam.poum> a écrit dans le message de
news:412aba5c$0$13684$636a15ce@news.free.fr...
DNass wrote:
Bonjour,
Question est ce que tu lances les flux de connection a partir " du
thread
principal "
si oui essaye de les lancer a partir d'un autre thread.
sa donne un truc du style
thread de l'appli qui lance un thread pour les connections
et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Bonjour,
Je ne pouvais arreter le Thread qui contenait le bout de code. J'ai
donc bouge l'appel a la methode acceptAndOpen dans un Runnable:
<code>
private void acceptAndConnect() {
Runnable runner = new Runnable() {
public void run() {
try {
sconn = notifier.acceptAndOpen();
} catch(Exception exc) {}
if(sconn != null) {
doServer();
}
}
};
Thread thd = new Thread(runner);
thd.start();
}
</code>
Et bizarrement, l'appel a notifier.close() ne "crash" pas mon appli et
je sors proprement du menu 'Server' pour retourner au menu principale.
Merci du conseil.
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
"JScoobyCed" a écrit dans le message de news:412aba5c$0$13684$
DNass wrote:
Bonjour,
Question est ce que tu lances les flux de connection a partir " du thread
principal " si oui essaye de les lancer a partir d'un autre thread. sa donne un truc du style thread de l'appli qui lance un thread pour les connections et un autre thread qui fait la fermeture et le nettoyage.
j'espere que cela va aider :)
Bonjour,
Je ne pouvais arreter le Thread qui contenait le bout de code. J'ai donc bouge l'appel a la methode acceptAndOpen dans un Runnable: <code> private void acceptAndConnect() { Runnable runner = new Runnable() { public void run() { try { sconn = notifier.acceptAndOpen(); } catch(Exception exc) {} if(sconn != null) { doServer(); } } }; Thread thd = new Thread(runner); thd.start(); } </code>
Et bizarrement, l'appel a notifier.close() ne "crash" pas mon appli et je sors proprement du menu 'Server' pour retourner au menu principale. Merci du conseil.
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!