Python для S60:Прослушивание сокета в разреженном потоке

StackOverflow https://stackoverflow.com/questions/664244

  •  21-08-2019
  •  | 
  •  

Вопрос

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

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

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

http://pastebin.com/f76189841

Обратите внимание, что я использую 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 для ПК

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top