2

私は現在、C/C++ ネットワーク プログラミングに libevent を多用しています。また、select、poll、epoll、kqueues などを使用する必要があるかどうかを心配することなく、イベント ベースのアプリを簡単に作成できる点が気に入っています。作成したアプリはテキストです。 -のみ、そして現在、Qt/QML を検討して、既存のネットワーク アプリの GUI を作成しています。

libeventとqtの両方が独自のイベントループを実行したいので、それらを1つのアプリケーションに統合する方法がわかりません。それぞれを独自のスレッドで実行することを検討する必要がありますか (あるスレッドで gui を実行し、別のスレッドで libevent-backend を実行する)、または非常に単純なものが不足していますか? :-)

ありがとう、ニーナ

4

2 に答える 2

0

libeventループのアイドルタイマーからQApplication::processEventsを呼び出すことができます(または、libeventに類似したものがあると仮定すると、その逆の場合もあります)。

OTOH、2つのスレッドがあることはそれほど悪くないかもしれませんなぜなら、Qtはスレッド間のシグナル/スロット接続(およびQMetaObject :: invokeMethodを介した一般的なメソッド呼び出し)を許可するからです。

これは、libeventとQtのGUIをアプリでどの程度緊密に統合する必要があるかによって異なります。

于 2011-05-19T12:54:34.160 に答える
0

libevent をラップする QAbstractEventDispatcher を実装します。

于 2013-05-14T18:46:00.953 に答える