問題タブ [omniorb]
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++ - Windowsでmingw-w64を使用してomniorbを構築するには?
あなたの助けが必要です。私たちのプロジェクトでは omniorb を使用していますが、Qt 4.8.1 の Windows で mingw-w64 を使用してビルドするのは困難です。どうやってそれをしたか教えてもらえますか?前もって感謝します。
php - omniORB ライブラリを使用した PHP 拡張 CORBA クライアントで、「未定義のシンボル」のランタイム エラーが発生する
CORBA クライアントとして動作する C++ で PHP 拡張機能を作成しようとしています。
サーバー側はJavaで書かれています。実行環境は CentOS 6.6 です。
omniORB を使用して IDL をコンパイルし、クライアント用の C++ スケルトン コードを作成しました。最初のステップは、正しく動作するクライアント プログラムを作成することでした。次に、エラーなしでコンパイルおよびリンクする PHP 拡張機能に機能を組み込みました。
ただし、拡張ライブラリを PHP にインストールしてテストすると、次のエラーが発生します。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_midas.so' - /usr/lib64/php/modules/php_midas.so: undefined symbol: _ZTv0ortableServer11ServantBase9_downcastEv in Unknown on line 0.
c++ - OmniORB C++ クライアント。2 つの異なるサーバーに接続できない
omniORB ライブラリを使用して C++ CORBA クライアントを開発しています。
私たちのアプリケーションは、それぞれが異なるマシンでホストされている 2 つの異なるサーバーに接続する必要があります。これを実現するために、2 つのCORBA::ORB_ptr
変数を使用します。面白いことに、1 つのサーバーに接続するとどのサーバーに接続してもプログラムは正しく動作しているように見えますが、1 つのサーバーORB_ptr
がアクティブなときに 2 番目のサーバーに接続しようとするとCosNaming::NamingContext::NotFound
例外が発生します。
c++ - Maven NAR プラグイン: リンクされたライブラリ名が間違っています
初めて maven nar プラグインを使用して、C++ で corba IDL ファイルのバウンスをコンパイルします。exec プラグインと omniidl を使用してスタブとスケルトンを正常に生成し、src/ の下にすべての *.C および *.H ファイルを作成しました。
内部の Nexus リポジトリを使用して NAR の依存関係を取得しています。これまでのところ、すべての *.o ファイルをコンパイルできました。ただし、リンカーは次のメッセージで失敗します。
問題は、たとえばフォルダー
次の共有オブジェクトが含まれています。
リンカーは、完全なバージョン (依存関係のバージョン) を含むライブラリ名に対してリンクを試みます。
私の質問は次のとおりです。
- 共有オブジェクトを含む Nexus リポジトリで利用可能になった omniORB4 NAR 依存関係に、間違った .so 名が含まれていると推測できますか?
- リンカー セクションで、NAR プラグインに別のライブラリ名を使用してリンクするように指示することで、回避する方法はありますか?
NAR プラグインを構成する pom セクションは次のとおりです。
ありがとう。
c++ - CORBA OmniOrb-4.2.1 : Windows 8 でコンパイルに失敗する
VS 2012 で使用する Windows ターゲットにomniOrbをインストールしています。
README.win32.txt (omniORB-4.2.1) のすべての手順に従いました。
ただし、コンパイル中にエラーが発生します。基本的にomnicpp.exeが生成された後、主にomniidl.exeおよびその他の libs のmake ファイルは進みません。
回避策として、個々のサブディレクトリを作成してみました。ただし、プロセス中に欠落している omniidl.exe が必要です。
以下はエラーです:
Omnicpp.exeは、以前の「make export」の実行で既に作成されています。ただし、他のexeとlibは作成されず、上記のように終了します。
誰でもこの問題を解決するのを手伝ってもらえますか?
ありがとう。
よろしく。
c++ - 名前コンテキストを解決した後、CORBA omniORB がリモート オブジェクトを取得できない
私は以下のようなIDLを持っています
ドキュメントで提案されているように、idl2cppユーティリティ(onmiORB)を使用してプロキシとスケルトンを生成し、生成されたファイルをサーバーとクライアントアプリにリンクしました
次に、ネームサービス(omniNames)を開始し、コマンドライン引数を使用せずに接続するサーバーおよびクライアントアプリのドキュメントで提案されているように、レジストリキー omniORB\InitRef を追加しました
以下はサーバーコードです
ただし、クライアント側の以下のコードは、名前のコンテキスト解決後に nil オブジェクトを返します。問題を把握できません。助けてください!
UPDATE-5PM: 実際、サーバー側のコードにも同じ問題があります server->authenticate は nil 参照のために呼び出されません。
推測: idl2cpp ツールで生成されたプロキシとスタブに問題がある可能性はありますか?
UPDATE-7:30PM スタブのあいまいさもなくなりました。スタブを再生成し、クライアント アプリとサーバー アプリの両方を再構築した後も問題は解決しません。
UPDATE 3-31|11AM 私は 10 年以上前の omniORB 4.0.3 を使用しています。これは、VC6 でコンパイルされた以前の Windows OS バージョンではうまく機能しましたが、VS 2008 で再コンパイルしたときに問題があるとは思えません。昨年リリースされた ommiORB 4.2 へのアップグレードを考えているだけです。無知ばかりで…。
UPDATE 3-31|5:30PM 現在、omniORB4.2.1 のソース コードをビルドしています。これを行っている間、古いシステムで生成された .lib ファイルのリンクに問題があるかどうかを知りたいです。この場合、私が Windows 7 で使用している omniORB .lib ファイルは Windows XP でビルドされていますが、問題になるでしょうか? この投稿でも答えられませんでした。古い .lib があり、問題なくコンパイルおよびリンクされ、ランタイムもクラッシュしませんでした。
UPDATE 4-01|4:30PM 実際にサーバーが実行されていないことに気付きました。前に投稿したサーバー コードもクライアントです。現在、実際のサーバー コード (name をサーバー obj にバインドするコード) を更新しました。しかし、この修正後も問題は変わりません
c++ - omniorb クライアントで値を尋ねる
このフォーラムのスレッドに従って、このチュートリアルの解決策を見つけました: http://www.yolinux.com/TUTORIALS/CORBA.html しかし、今はもっとやりたいことがあります。2 人以上のプレイヤー (クライアント) 向けに、ある種のゲームを実行したいと考えています。しかし、omniorb でクライアント プログラム経由で値を送信できるかどうかはわかりません。ゲームは、クライアント側で「投げる」のようなコメントを書き、ランダムな整数を生成し、合計=> 60 の場合に勝ちます。私の質問は基本的に、クライアントがキーボード入力をキャッチできるかどうか、およびクライアントまたは他のクラス/ファイルですべてのプロセス(ランダムと合計を生成する)をより効率的に実行できるかどうかです。いつものように、よろしくお願いします。乾杯!
redhawksdr - 問題を引き起こす外部 10GigE デバイスを備えたマシン上のデバイス マネージャ
私が抱えている問題は、リモート PC でデバイス マネージャを起動しようとして、10GigE ポートが接続された外部ハードウェア デバイスがある場合です。デバイス マネージャからの registerDevice メッセージは、接続された外部デバイスが使用する 10GigE インターフェイスの IP アドレスを登録します。デバイス マネージャ マシンの実際の IP アドレスではなく、デバイス マネージャ PC に。
ネットワークセットアップ:
外部デバイスを PC2 に接続せずにシナリオを実行すると、そのマシンのデバイス マネージャーは IP アドレス 192.168.5.11 で登録されます。外部ハードウェアを PC2 に接続し、10GigE インターフェイスがオンラインになると、デバイス マネージャーは IP アドレス 192.168.100.10 で登録し、REDHAWK ドメイン全体がハングします。
PC1 と PC2 の両方で Wireshark ログを調べて、この問題を確認しました。10GigE ポートを備えた UHD デバイス以外の UHD デバイスを接続する場合、この問題は発生していません。この時点では、デバイスまたはそれらのデバイス マネージャが実際に使用されていないことに注意してください。デバイスの電源がオンになり、GPP のみのノードが開始されます。UHD と外部ハードウェアの場合、両方の 10GigE ポートがカスタムで、制限付きの 10GigE インターフェイスを実装します。10GigE の実装が制限されているデバイスではなく、10GigE を使用する別の PC に接続すると、デバイス マネージャーが動作します。
ノードがアクティブになった後に 10GigE デバイスを接続すると、FE 2.0 デバイスは問題なく動作します。ただし、物理的に歩いてデバイスの電源を入れることは、このユース ケースでは有効ではないため、このシナリオは機能しません。さらに、同じコンピューターで開始されたドメイン上のデバイスで実行しても、これらの問題は発生しません。この問題は、ドメインがリモート PC 上にある場合にのみ発生します。
現在、次の REDHAWK バージョンで作業していますが、両方で同じ問題があります。
CentOS 6.6 と REDHAWK 2.0.3 および OmniORB 4.1
Fedora 24 と REDHAWK 2.0.3 および OmniORB 4.2
他の誰かがこの問題を抱えていましたか?それについて私にできることはありますか?