問題タブ [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++ - CORBA C++/Java アプリケーションのサーバー側でのセグメンテーション エラー (コア ダンプ)
私はそのようなコードを持っています:
サーバーファイル:
クライアント ファイル:
クライアント側でサーバー、次にクライアントを実行すると、次のように表示されます。
スミス
それ以外の:
クライアントがメッセージを受け取ったとき、サーバー側で次のように表示されます。
セグメンテーション違反 (ダンプされたコピー)
そしてサーバークラッシュ。私のコードの何が問題なのですか? Kubuntu では omniORB と idlj を使用し、g++ と javac を使用してファイルをコンパイルします。
Heres私のプロジェクト全体: http://www44.zippyshare.com/v/60244821/file.html
java - Client.java:30: OtherPackage.TaskOperations の getThingToDo() は適用できません (短い)
以前の例を拡張しました: CORBA C++/Java アプリケーションのサーバー側でのセグメンテーション エラー (コア ダンプ)を、Stack のユーザー @Brian Neal の助けを借りて最終的に完成させました。
私はまだ Corba の初心者なので、Corba のシーケンスについてもう少し知りたいと思い、この単純な (?) 例を書きました。
TaskImpl.h および TaskImpl.cpp:
EmployeeImpl.h および EmployeeImpl.cpp:
WorkImpl.h および WorkImpl.cpp:
サーバー.cpp:
クライアント.java:
クライアントをコンパイルしようとすると、エラーが発生します。
どうしたの?そのように書くことは可能ですか?
私が使用したいくつかのコマンド:
java - CORBA クライアント/サーバー アプリケーション、サーバーから情報を取得 (null 値)
Java と C++ で CORBA のクライアント サーバー アプリで単純なアプリケーションを作成しました。
TaskImpl.hおよびTaskImpl.cpp:
EmployeeImpl.hおよびEmployeeImpl.cpp:
WorkImpl.hおよびWorkImpl.cpp:
サーバー.cpp:
クライアント.java:
私がこのようなEmployeeImpl.cppを持っていたとき:
クライアントを初めて実行したところ、次のことがわかりました。
どちらが正しい。しかし、クライアントを 2 回目 (および 3 回目など) 実行したとき、次のことがわかりました。
問題はどこですか?私はそれについてよく考えていて、再びEmployeeImpl.cppを書きました:
クライアントを実行するたびに、今ではすべてがうまくいっているようです。しかし、それがCORBAのやり方で良いかどうかはわかりません。助言がありますか?
これらのコマンドを使用して、サーバーとクライアントのファイルをコンパイルして実行します (Kubuntu 12.04 で omniORB 4.1.6 と default-jdk パッケージを使用しています)。
これが私の作業コードです: http://www9.zippyshare.com/v/46287610/file.html
windows - WindowsにomniORBをインストールするにはどうすればいいですか?
PythonとMinGWをインストールし、PATH(g ++とpython)に必要なものをすべて追加し、http: //sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.1.6/omniORB-4.1.6からomniORBをダウンロードしました。 .tar.bz2 / download、解凍します。
omniORBディレクトリに移動しましたが、\ bin\x86_win32ディレクトリにomniORBバイナリがありませんでした。
だから私は2つの質問があります:
1)omniORBバイナリはどこで入手できますか?(Windows XP / Vista(両方ともx86)を搭載したコンピューターにomniORBをインストールしたい)
2)MinGWのみがインストールされている(Visual C ++がない)場合、ソースからomniORBをインストールすることは可能ですか?これを行う方法(手順が必要です)?
python - ベースのomniORBpyに基づいてファイル転送を行うプログラムを作成する方法
私は現在、クライアントとサーバー間でファイル転送を行うためのCorbaプロジェクトを作成しています。しかし、クライアントからサーバーにファイルをアップロードしたいときに問題が発生します。
私が定義したIDLは次のとおりです。
そして、クライアントコードにアップロード機能を実装しました。
ファイルがプレーンなtxtファイルであれば、問題はありません。ただし、ファイルがjpg、doc、またはtxt以外のファイルの場合は、機能します。それは私にエラーを与えます:
問題はどこだ?
corba - OMNIORB: IOR で Vmnet8 IP を使用しますが、これはサーバーの外部には到達できません。
VMWare-Player も実行するマシンに CORBA サーバーをインストールしました。VMWare プレーヤーは、2 つの仮想ネットワーク接続を作成します。VMnet8 接続は、VM ネットワークの NAT モードに使用されます。
誤って、私の Corba サーバーは、このネットワーク接続をループバック インターフェイスではなく最初に選択し、IOR とネームサービス内でこのネットワーク接続の IP を使用します。これは、クライアントから IP にアクセスできないことを意味します。
omniorb で固定エンドポイントを設定せずにデフォルト IP を設定する方法はありますか。
c++ - resolve_initial_references が SystemException を引き起こす
アプリケーションでは、Visual C++ 6.0 で開発されたクライアントで ActiveX コントロールを使用します。また、omniORB 2.7を使用して、サーバー アプリへの接続を提供します。正常に動作しています。しかし今は、このアプリケーションを Windows 7 の 64 ビット PC で実行する必要があります。ActiveX コントロールは機能しています。ただし、C++ コードでは、resolve_initial_references
以下のように ORB の関数を呼び出す場合:
SystemException をスローします。これは、XP の 32 ビット マシンでは実行されませんでした。例外の原因を突き止めようとしました。しかし、私が得ることができたのは次のことだけでしたNP_RepositoryId()
。IDL:omg.org/CORBA/NO_RESOURCESが出力されます。
接続に問題はないと思います。ORBのinit()
機能は問題なく動作しますので。また、許可されている接続数を超えているとは思いません。それは意味がありません。NO_RESOURCES とだけ表示されます。minor
コードを印刷しようとしました。しかし、それは空になります。他に何ができますか?
編集: これらでサーバーアプリケーションを開始します:-ORBInitialHost 192.168.1.8 -ORBInitialPort 900 -BOAiiop_port 5140
corba - CORBA: IDL で操作引数のデフォルト値を指定する方法はありますか?
この IDL の抜粋に示すように、単純な操作を行う単純な CORBA インターフェイスがあります。
myOperation にブール値の引数を追加する必要があります。したがって、IDL を次のように変更するだけです。
false
これで問題ありませんが、このインターフェイスはかなり多くの場所で使用されており、 toのデフォルト値を指定してすべての呼び出しを変更する必要がないようにしたいflag
ので、最初の試みは次のようになります。
しかし、これにより omniORB はSyntax error in operation parameters
.
タイトルの質問を繰り返します。一般に、IDL で操作引数のデフォルト値を指定する方法はありますか? false
そして、この特定のケースでは、 forのデフォルト値をどのように指定しますflag
か?
ご協力いただきありがとうございます!