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