Python для S60: слушай сокет в отдельном потоке - PullRequest
1 голос
/ 20 марта 2009

Я разрабатываю игру Bluetooth на Python для устройств Nokia на базе S60. Разъемы Bluetooth в S60 оказались довольно хитрыми. По двум причинам:

  1. Я не могу выполнить мастер для нескольких подчиненных сокетов в Python, слышал, что это не может быть сделано в Python, поэтому я уже оставил это и все равно не делаю.

  2. Другая часть заключается в том, что я не могу просто прослушать сокет в отдельном потоке и уйти с нормальным выполнением моего приложения. Я попробовал пример кода здесь:

http://pastebin.com/f76189841

Обратите внимание, что я использую ao_callgate () при совместном использовании сокетов между потоками.


Сообщение (все еще без ответа :-() можно найти здесь: http://discussion.forum.nokia.com/forum/showthread.php?t=162260

1 Ответ

2 голосов
/ 21 марта 2009

Я немного узнал об активных объектах. Запросы на чтение и запись отправляются на сервер Bluetooth. Но есть ограничение только одного запроса за раз.

Я создаю новый поток (скажем, t1) и вызываю его в контексте основного потока, используя ao_e32.callgate (). В том, что я жду входящего сообщения. Когда я хочу отправить сообщение через Bluetooth, я должен остановить эту тему, отправить сообщение и запустить новую тему. Но теперь проблема в том, как мне остановить поток в Python.

P.S. Потоковый модуль доступен в Python для S60, и поверх него можно установить threding с помощью threading.py из версии Python для ПК

...