2016-07-04 2 views
0

私は、クライアントが送信したテキストをコンソールに表示するだけの単純なQtベースのBluetoothサーバ(rfcomm)を構築しようとしています。 QGuiApplicationまたはQApplicationの代わりにQCoreApplication(これが必要なのです)を使用しているときに、メッセージを受け取ることができず、クライアントが接続されたときに通知されないことに気付きました(SLOTSは呼び出されません) 。 コード全体はhereです。サーバーはQt Bluetooth Chatの例でテストすることができ、私のサーバーのコード全体がこの例から抽出されます。それはイベントループに関連するものかもしれませんが、私は何がわかりません。私はQt 5.6.1でOS X El Capitan上でサーバを稼働させています。Qt BluetoothサーバがQCoreApplicationと連携していません

答えて

1

thisのQtチームの回答によると、Bluetooth I/O関連の機能にはQCoreApplicationで利用できない実行ループが必要です。

Qt 5.7には、Core Foundationイベントディスパッチャを使用して、これを回避する方法があります。

このイベントディスパッチャを有効にするには、 'QT_EVENT_DISPATCHER_CORE_FOUNDATION = 1'環境変数を設定する必要があります。

関連する問題