1

私はS60ベースのNokiaデバイス用にPythonでBluetoothゲームを開発しています。S60のBluetoothソケットは、かなり注意が必要です。2つの理由:

  1. Pythonでは複数のスレーブソケットに対してマスターを実行できません。Pythonでは実行できないと聞いたので、すでにこれを残して、とにかく実行していません。

  2. もう1つの部分は、別のスレッドでソケットをリッスンして、アプリケーションの通常の実行を終了することはできないということです。ここでサンプルコードを試しました:

http://pastebin.com/f76189841

スレッド間でソケットを共有しているときにao_callgate()を使用していることに注意してください。


投稿(まだ未確認:-()はここで見つけることができます: http ://discussion.forum.nokia.com/forum/showthread.php?t = 162260

4

1 に答える 1

2

Active オブジェクトについて少し学びました。読み取りと書き込みの要求が Blutooth サーバーに送信されます。ただし、一度に 1 つのリクエストのみという制限があります。

新しいスレッド (たとえば t1) を作成し、ao_e32.callgate() を使用してメイン スレッドのコンテキストで呼び出します。その中で、着信メッセージを待ちます。Bluetooth 経由でメッセージを送信する場合は、このスレッドを停止し、メッセージを送信してから、スレッドを再度開始する必要があります。しかし、問題は、Python でスレッドを停止する方法です。

PS スレッド モジュールは S60 の Python で利用可能であり、Python の PC バージョンから threading.py を使用してスレッド化をインストールできます。

于 2009-03-21T11:47:58.660 に答える