問題タブ [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.
sockets - bind インターフェイスでの ACE フレームワークの使用
eth0
1 つの物理インターフェイスと 3 つの仮想インターフェイスを備えた Linux サーバーがありますeth1, eth2, eth3
。サーバーには 4 つの IP アドレスがあり、多数の IP ポート (100k 以上) を使用する必要があります。サーバーには、 、、bond0
などの 4 つのアドレスとのインターフェイスがあります。私のアプリケーションは ACE v5.5 に基づいています。ローカルポートを開くには、 class を ctor 引数とともに使用します。できます。別のローカル IP で開くには?.1
.2
.3
.4
1023
ACE_SOCK_Dgram
ACE_Addr = ACE_INET_Addr("0.0.0.0:1023")
1023
ありがとう。
ace - ace でリアクター イベント ループを終了する方法
ace でリアクタ イベント ループを終了する 2 つの方法を見つけました。
それらの違いは何ですか?どちらを使用する必要がありますか?
ace - ACE_Condition待機によって保持されているミューテックスを取得できません
キューからプッシュおよびペンドするために使用される次のコードがあります。呼び出し元コードには複数のMsgQオブジェクトがあります。Push関数とPend関数が待機してい_notFull->wait()
て、_notEmpty->wait()
条件付きで待機している可能性があります。これらの待機は、_mutミューテックスによって保護されています。notFullおよびnotEmpty待機は、empty
およびfull
変数を操作します。
デストラクタが呼び出されると、_deleteQueue
が内部的に呼び出され、そこから待機中のスレッドに信号を送ってクリーンアップし、信号が来るのを待つのをやめたいと思います。それが終わったら、オブジェクトを削除します。しかし、_deleteQueue
関数でやろうと_mut->acquire()
すると、ミューテックスを取得できません。取得を無視しても、broadcast
これらの待機中のスレッドを実行することはできません。どこが間違っているのですか?
ありがとう、ヴィクラム。
c++ - ACE IPv6 を有効にする方法
Linux で ACE v5.7.1 を使用しています。サーバーが ipv6 要求も受け入れることができるように、ipv6 を有効にしたいのですが、ace/config.h ファイルに #define ACE_HAS_IPV6 を追加しました。
ACE_INET_Addr(port,ipv6_address) で単純なクライアントを作成し、サーバーに接続しようとすると、エラー ACE_INET_Addr :: 許可が拒否されました
私を助けてください。
c++ - 構造体のアドレスは最初のメンバーのアドレスと同じですか?
次のような構造体があるとします。
適切な値で初期化しています。最後に、構造体を char* に変換して、ペイロード (char* メッセージ) を追加し、websocket 接続を介して送信できるようにします。
c++ - ace register_handler が失敗する
複数のスレッドを持つシステムで ace register_handler 関数を使用しています。時々、register_handler が失敗します。(get_handle 関数を呼び出して) ファイル記述子を出力したところ、ファイル記述子が 1000 を超えると get_handle が失敗することに気付きました。誰かが理由を知っていますか?
c++ - ACEでUTC時間の代わりに現地時間を取得するには?
現在の時刻を取得するために、プログラムで ACE_OS::gettimeofday() を使用しています。私の知る限り、ACE は常に内部的に UTC を使用します。ただし、システムのタイムゾーンに基づいて、UTC 時間を現地時間に変換する必要がある場合があります。
プラットフォーム固有の手法を使用せずにこの変換を行うことは可能ですか? 任意の提案をいただければ幸いです。
ubuntu - UbuntuにACEをインストールする際の問題
私はUbuntu11.10(GNU / Linux 3.0.0-18-server x86_64)を所有しており、このマニュアルを使用してSingle ACE 6.1.1をインストールしようとしています:http ://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE /ACE-INSTALL.html#unix_traditional
インストールはバージョン6.0.7から変更されていると思うので、コマンド「make」を実行するとエラーが発生します。これはエラーです。誰かが私を助けてくれることを願っています。
c++ - スレッドは睡眠から目覚めませんでした
私はマルチスレッドアプリケーションを持っていますが、10秒後にウェイクアップして何らかの作業を行うと想定される1つのスレッドが、スリープから復帰しないか、飢えている場合があります。
それは散発的にのみ発生します。
ログの最後の行は次のとおりです。2012-06-1211:34:20.807272 | INFO | sleep
スレッドは15秒間アウェイクしなかったか、アウェイク後15秒まで何の作業も行わなかったため、アプリケーションは閉じました。
アプリケーションには合計6つのスレッドがあり、すべて同じ優先度で開始されます。スレッドの1つは非常にビジーで、大量の市場データを受信して処理しますが、ソケットには何も送信しません。上記のスレッドはデータを送信する唯一のスレッドであり、受信側スレッドと送信側スレッドの両方が同じソケットオブジェクトを共有しています。
これはRedHatLinux5.3にあります。
問題になる可能性のあるアイデアはありますか?
c++ - OSのスケジューリングが原因でスレッドまたはプロセスが不足しているかどうかを検出する方法
これはLinuxOS上にあります。アプリはACEライブラリを使用してC++で記述されています。
プロセス内のスレッドの1つが異常に長い時間(5〜40秒)ブロックされることがあると思われます。この問題がある1日に数回を除いて、アプリはほとんどの場合正常に動作します。ボックスで実行されている他の同様の5つのアプリがありますが、これらのアプリも、ソケットの着信データが重いためにI/Oバウンドになっています。
スレッド/プロセスがタイムスライスを取得しているかどうかを確認するためにプログラムで実行できることがあるかどうかを知りたいです。