問題タブ [ace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1567 参照

c++ - プロアクターと非同期書き込み

Boost asioは、 ACE proactorに基づいた proactor デザイン パターンを実装します。

非同期読み取りが必要な理由を理解しています。しかし、私は非同期書き込みと混同しています。

  1. 非同期書き込みが必要な理由 TCP/UDP 接続にも役立ちますか (TCP/UDP ソケットへの書き込みに時間がかかることがあります)?
  2. 非同期読み取りと同期書き込みを混在させることはできますか?
0 投票する
1 に答える
80 参照

c++ - ACEを使用してコンソールにパケットを表示する際の問題

デバッグ上の理由から、送信パケットをコンソールに表示したいと思います。パケットはサーバーに正しく到着します。しかし、送信する前にコンソールに表示したい場合は、何も表示されません。

誰かがアイデアを持っていますか?

0 投票する
5 に答える
4520 参照

c++ - C++ ネットワークのシリアル化

C++ パケットをネットワーク ストリームにシリアル化するためのソリューションを探しています。

ここで人々に言及する多くの投稿を見てきました:

  1. エース

  2. Google プロトコル バッファ

  3. Boost::シリアル化

  4. Qt ::QDataStream

私の要件/制約:

  1. ソリューションは、LitteEndian/BigEndian を認識しない必要があります。マシン アーキテクチャ x86/x64 およびプラットフォームに依存しません。

  2. 最初の 3 つのソリューションのフット プリント (RAM と ROM) は、私のプラットフォームには大きすぎます。4 番目のソリューションは、次の要件と矛盾しています。

  3. このソリューションでは、大量のボイラープレート コードは必要ありません (シリアル化する必要がある 200 以上のパケットがあります)。

ありがとう、コビー・メイア

0 投票する
1 に答える
351 参照

c++ - WT のメイン ループを ACE_Reactor に置き換える方法

ACE を使用して実装されたコア機能を備えたプロジェクトがあり、その Reactor を中心に構築されています。Wt を使用して小さな Web インターフェイスを追加したいと考えています。

問題は、wt インターフェイスのメイン ループを ace リアクターに置き換えることは可能かということです。

私の頭に浮かぶ唯一の悪い考えは、どういうわけかwt部分を呼び出すReactor側に高速タイマーがあることです。逆に、リアクターは handle_events メソッドを使用して「ティックごと」に実行できますが、wt 側で同等のものを見つけることができません。

注: この質問の背後にある主な関心事は、スレッドに関するものです。スレッドはありません。コードはスレッド セーフではありません。HMI がアプリケーションの残りの部分と同じスレッドで実行できれば、はるかに簡単になります。しかし、1 つは theReactor->run_reactor_event_loop() への呼び出し、もう 1 つは Wt::WRun() への 2 つのブロッキング呼び出しがあるのは問題です!

0 投票する
1 に答える
140 参照

c++ - C ++でACEを使用してコマンドの戻り値を取得する

Linux で c++ プロセス内からシェル コマンドを実行し、その戻り値を取得する必要があります。ACEでそれを行う方法はありますか?私は、C++ で popen を使用できることを知っています。ACE ソリューションを探しています。

0 投票する
1 に答える
860 参照

sockets - ACEアクセプター-My_Svc_Handlerクラス

TCPポートをリッスンするためにaceアクセプターを使用しています。私のクラスはMy_Svc_Handlerから継承し、クラスMy_Svc_Handlerの関数int open(void *)を意味します。私が見たすべての例で、open関数内で、それらはリアクターを登録します。

なぜ登録する必要があるのか​​理解できません。私はすでにイベントを待っているリアクターを持っています。これは私がメインで定義したものです:

open関数がいつ呼び出されるのかわかりません。

その方法について別の質問があります。while(1)を実行しないメインに別の方法はありますか?

0 投票する
1 に答える
1273 参照

c++ - ポートのリッスンを停止する方法

私はc++で書かれたLinuxアプリケーションを持っています。アプリケーションは特定のポートでソケットをリッスンします。私はACEAcceptorを使用してこれを実装しました。さらに、アプリケーションは、初期化スクリプト/etc/init.d/postgresqlを使用してpostgresqlデータベースを開始し、ACE_OS::system関数を呼び出して開始します。

私が抱えている問題は次のとおりです。アプリケーションが終了しても、ポートはまだ使用されています。netstatを実行すると、postgresがそのポートをリッスンしていることがわかります。(これは、特定のポートでアプリケーションからpostgresを開始した場合にのみ発生します)。

ポートを閉じる方法はありますか?postgresがそのポートをリッスンするのはなぜですか?

0 投票する
1 に答える
136 参照

ace - 特定のファイル記述子にリアクタを登録するにはどうすればよいですか?

エースリアクターを登録して変更を通知したいファイル記述子があります。特定のファイル記述子にリアクタを登録するにはどうすればよいですか?

0 投票する
3 に答える
4912 参照

c++ - ACE (C++ ライブラリ) はまだハイ パフォーマンス コンピューティングに使用されていますか?

高頻度取引/ハイ パフォーマンス コンピューティングに興味があり、「ACE」に出会いました。

http://www.cs.wustl.edu/~schmidt/ACE-overview.html

しかし、ウェブサイトの論文の多くが 1995 年のものであることに気付きました。このフレームワークはまだ使用されているのでしょうか。

それともブーストがこれに取って代わりましたか?ACE にはブーストに必要なライブラリが含まれていますか?

0 投票する
3 に答える
857 参照

c - C/C++ 高頻度メッセージング プログラム

最近、POCO および ACE ネットワーク フレームワークと、私が既に知っていた Boost に出会いました。

私の質問は、これらのライブラリは、バークレー ソケットを使用した通常の C プログラムよりも、メッセージの受け渡しが高速ですか? これらのライブラリは、パフォーマンス要因に役立つマルチスレッドなどの機能を追加するためだけに人気がありますか?

Linux で高性能メッセージング システムを作成したいのですが、 ACE 、 POCO 、および Boost を回避し、代わりに Linux スレッド OS 関数とバークレー ソケットを使用する必要があるかどうかはわかりません。

言い換えれば、私は自分のコードを "STL フレンドリー" にするなど、一般的なコードに悩まされることはありません。生のパフォーマンスが必要なだけです (アセンブリを記述する必要はありません!)。