Question

Je développe un jeu Bluetooth en Python pour les appareils Nokia basés sur S60. Les prises Bluetooth de la S60 s'avèrent assez délicates. Pour deux raisons:

  1. Je ne peux pas maitriser plusieurs sockets esclaves en Python, j'ai entendu dire que cela ne pouvait pas être fait en Python, donc je l'ai déjà quitté et je ne le fais pas de toute façon.

  2. L’autre partie est que je ne peux pas simplement écouter un socket dans un thread séparé et partir avec l’exécution normale de mon application. J'ai essayé un exemple de code ici:

http://pastebin.com/f76189841

Notez que j'utilise ao_callgate () lorsque je partage des sockets entre des threads.

Le message (toujours sans réponse :-() peut être trouvé ici: http://discussion.forum.nokia.com/forum/showthread. php? t = 162260

Était-ce utile?

La solution

J'ai appris un peu sur les objets actifs. Les demandes de lecture et d'écriture sont envoyées au serveur Blutooth. Mais il n’existe qu’une seule demande à la fois.

Je crée un nouveau thread (disons t1) et l'appelle dans le contexte du thread principal à l'aide de ao_e32.callgate (). En cela, j'attends le message entrant. Lorsque je veux envoyer un message via Bluetooth, je dois arrêter ce fil, envoyer le message et redémarrer le fil. Mais maintenant, le problème est comment puis-je arrêter un fil de discussion en Python.

P.S. Le module thread est disponible en Python pour S60 et threding peut être installé dessus à l’aide de threading.py à partir de la version PC de Python

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top