問題タブ [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.
c++ - プロアクターと非同期書き込み
Boost asioは、 ACE proactorに基づいた proactor デザイン パターンを実装します。
非同期読み取りが必要な理由を理解しています。しかし、私は非同期書き込みと混同しています。
- 非同期書き込みが必要な理由 TCP/UDP 接続にも役立ちますか (TCP/UDP ソケットへの書き込みに時間がかかることがあります)?
- 非同期読み取りと同期書き込みを混在させることはできますか?
c++ - ACEを使用してコンソールにパケットを表示する際の問題
デバッグ上の理由から、送信パケットをコンソールに表示したいと思います。パケットはサーバーに正しく到着します。しかし、送信する前にコンソールに表示したい場合は、何も表示されません。
誰かがアイデアを持っていますか?
c++ - C++ ネットワークのシリアル化
C++ パケットをネットワーク ストリームにシリアル化するためのソリューションを探しています。
ここで人々に言及する多くの投稿を見てきました:
エース
Google プロトコル バッファ
Boost::シリアル化
Qt ::QDataStream
私の要件/制約:
ソリューションは、LitteEndian/BigEndian を認識しない必要があります。マシン アーキテクチャ x86/x64 およびプラットフォームに依存しません。
最初の 3 つのソリューションのフット プリント (RAM と ROM) は、私のプラットフォームには大きすぎます。4 番目のソリューションは、次の要件と矛盾しています。
このソリューションでは、大量のボイラープレート コードは必要ありません (シリアル化する必要がある 200 以上のパケットがあります)。
ありがとう、コビー・メイア
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 つのブロッキング呼び出しがあるのは問題です!
c++ - C ++でACEを使用してコマンドの戻り値を取得する
Linux で c++ プロセス内からシェル コマンドを実行し、その戻り値を取得する必要があります。ACEでそれを行う方法はありますか?私は、C++ で popen を使用できることを知っています。ACE ソリューションを探しています。
sockets - ACEアクセプター-My_Svc_Handlerクラス
TCPポートをリッスンするためにaceアクセプターを使用しています。私のクラスはMy_Svc_Handlerから継承し、クラスMy_Svc_Handlerの関数int open(void *)を意味します。私が見たすべての例で、open関数内で、それらはリアクターを登録します。
なぜ登録する必要があるのか理解できません。私はすでにイベントを待っているリアクターを持っています。これは私がメインで定義したものです:
open関数がいつ呼び出されるのかわかりません。
その方法について別の質問があります。while(1)を実行しないメインに別の方法はありますか?
c++ - ポートのリッスンを停止する方法
私はc++で書かれたLinuxアプリケーションを持っています。アプリケーションは特定のポートでソケットをリッスンします。私はACEAcceptorを使用してこれを実装しました。さらに、アプリケーションは、初期化スクリプト/etc/init.d/postgresqlを使用してpostgresqlデータベースを開始し、ACE_OS::system関数を呼び出して開始します。
私が抱えている問題は次のとおりです。アプリケーションが終了しても、ポートはまだ使用されています。netstatを実行すると、postgresがそのポートをリッスンしていることがわかります。(これは、特定のポートでアプリケーションからpostgresを開始した場合にのみ発生します)。
ポートを閉じる方法はありますか?postgresがそのポートをリッスンするのはなぜですか?
ace - 特定のファイル記述子にリアクタを登録するにはどうすればよいですか?
エースリアクターを登録して変更を通知したいファイル記述子があります。特定のファイル記述子にリアクタを登録するにはどうすればよいですか?
c++ - ACE (C++ ライブラリ) はまだハイ パフォーマンス コンピューティングに使用されていますか?
高頻度取引/ハイ パフォーマンス コンピューティングに興味があり、「ACE」に出会いました。
http://www.cs.wustl.edu/~schmidt/ACE-overview.html
しかし、ウェブサイトの論文の多くが 1995 年のものであることに気付きました。このフレームワークはまだ使用されているのでしょうか。
それともブーストがこれに取って代わりましたか?ACE にはブーストに必要なライブラリが含まれていますか?
c - C/C++ 高頻度メッセージング プログラム
最近、POCO および ACE ネットワーク フレームワークと、私が既に知っていた Boost に出会いました。
私の質問は、これらのライブラリは、バークレー ソケットを使用した通常の C プログラムよりも、メッセージの受け渡しが高速ですか? これらのライブラリは、パフォーマンス要因に役立つマルチスレッドなどの機能を追加するためだけに人気がありますか?
Linux で高性能メッセージング システムを作成したいのですが、 ACE 、 POCO 、および Boost を回避し、代わりに Linux スレッド OS 関数とバークレー ソケットを使用する必要があるかどうかはわかりません。
言い換えれば、私は自分のコードを "STL フレンドリー" にするなど、一般的なコードに悩まされることはありません。生のパフォーマンスが必要なだけです (アセンブリを記述する必要はありません!)。