Python для S60: слушай сокет в отдельном потоке
Я разрабатываю игру Bluetooth на Python для устройств Nokia на базе S60. Разъемы Bluetooth в S60 оказались довольно хитрыми. По двум причинам:
Я не могу выполнить мастер для нескольких подчиненных сокетов в Python, слышал, что это не может быть сделано в Python, поэтому я уже оставил это и не делаю это в любом случае.
Другая часть заключается в том, что я не могу просто слушать сокет в отдельном потоке и уйти с нормальным выполнением моего приложения. Я попробовал пример кода здесь:
Обратите внимание, что я использую ao_callgate() при совместном использовании сокетов между потоками.
Сообщение (пока без ответа:-() можно найти здесь: http://discussion.forum.nokia.com/forum/showthread.php?t=162260
1 ответ
Я немного узнал об активных объектах. Запросы на чтение и запись отправляются на сервер Bluetooth. Но есть ограничение только одного запроса за раз.
Я создаю новый поток (скажем, t1) и вызываю его в контексте основного потока, используя ao_e32.callgate(). В том, что я жду входящего сообщения. Когда я хочу отправить сообщение через Bluetooth, я должен остановить эту тему, отправить сообщение и запустить новую тему. Но теперь проблема в том, как мне остановить поток в Python.
Модуль потоков PS доступен в Python для S60, и поверх него можно установить threding с помощью threading.py из версии Python для ПК.