1

WT を使用してアプリケーションを構築しようとしています。このアプリケーションは、一方の端でソケットを介して他のソフトウェアと通信し、もう一方の端で開いているすべてのセッション (WApplications) に通知する必要があります。

問題は、WSocketNotifier を使用して socked 上の新しいイベントの通知を受けることができるということですが、WSocketNotifier は特定のセッションにリンクされています。そのコンストラクターでは、次のことを行います。

sessionId_(WApplication::instance()->sessionId()),

セッションごとに 1 つではなく、ソケットが 1 つしかないため、これは問題です。したがって、WSocketNotifier は、特定のセッションにリンクするのではなく、より一般的なエンティティにアタッチする必要があると思います。それを行う方法はありますか?

今のところ私が見る唯一の解決策は、静的な WSocketNotifier を用意し、セッションが終了したときにそれを置き換えることです...

4

2 に答える 2

0

私は WT について何も知りませんが、ソケット通知を処理するためだけに「ダミー」セッションを作成し、そこから実際のセッションに転送できますか? または、セッションがサブスクライブできる独自の通知機能をロールしますか?

于 2011-06-21T17:03:59.290 に答える
0

main() で、ソケットからのデータを処理するスレッドを作成します。選択、ブロック読み取り、... 次に、WServer::post() を使用して、データがソケットに到着したことをセッションに通知します。

于 2011-07-13T20:52:25.460 に答える