-1

同じ LAN 上の別のマシンからアクセスしたいシステムで実行されている Corba サーバーがあります。アクセスするサーバー マシンのサーバー IP を指定してみました (コードが添付されています)。ただし、以下のエラーが表示されます。

orbd -ORBInitialPort 1050 -ORBInitialHost <serverip>&

java HelloServer -ORBInitialPort 1050 -ORBInitialHost <serverip>&

java HelloClient -ORBInitialPort 1050 -ORBInitialHost <serverip>&

WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 127.0.1.1; port: 43944"
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
  • ホスト名は 127.0.1.1 と表示されていますが、指定したサーバー名ではありません。
  • ポート番号は、指定した形式とは異なります
  • サーバーは接続を受信して​​おらず、まだ待機中です。

誰か助けてくれませんか?

4

3 に答える 3

1

CORBA プログラムは、サーバーの IP アドレスを直接処理しません。オブジェクトにアクセスしたい場合は、その IOR (交換可能なオブジェクト参照) が必要です。IOR には、オブジェクトについて連絡する必要があるマシンのアドレス、オブジェクト ID、およびその他の管理が含まれています。

オブジェクトの IOR を取得する最も一般的な方法は 2 つあります。低レベルのアプローチは、サーバーが文字列に変換し、その文字列を何らかのファイルに書き込むことです。クライアントはその文字列を読み取り、オブジェクト参照に変換します。

もう 1 つの方法は、名前を IOR に変換するネーム サービスを実行することです。オブジェクトの DNS のようなもの。

典型的な CORBA プログラムは、1 つまたはいくつかの「ルート」オブジェクトに対してのみこのダンスを実行し、他のオブジェクトのオブジェクト参照は、そのルート オブジェクトへの呼び出しからの戻り値として返されます。

于 2012-12-05T13:26:27.343 に答える
-3

ありがとうppl。/ etc /hostsconfファイルを変更しました。ローカルホストのIPと、リモートサーバーにアクセスする方法を変更しました。

于 2012-12-07T07:17:13.057 に答える