0

JacORB クライアントの Appl A と TAO サーバーの Appl B があります。

実行の詳細:

a) アプリケーション A は最初に、その corbaloc URL を使用してサーバー プロセス (アプリケーション B) の object_reference を作成し、その後の使用のためにこの参照をマップに保持します。これは、Appl B のすべての corba 呼び出しに同じオブジェクト参照が使用されることを意味します。

b) アプリ A は、上で作成したアプリ B の狭められたオブジェクト参照に対してインベントリ メソッドを呼び出します。

c) サーバー側 (TAO) では、サーバントがリクエストを完了し、レスポンスを送信します。

d) Jacorb クライアント側で長い間 (タイムアウト間隔の後だと思います)、例外が発生します。

     org.omg.CORBA.COMM_FAILURE:   vmcid: 0x0  minor code: 0 completed: Maybe
    at org.jacorb.orb.giop.ReplyPlaceholder.getInputStream(ReplyPlaceholder.java:133)

. e) 上記のリクエストがタイムアウトする前に、同じクエリがサーバー上で再度行われた場合 (同じ接続オブジェクトを使用)、両方のレスポンスが受信され、適切に処理されます。

この場合の進め方について何か考えはありますか? 私の推測では、ソケット バッファがフラッシュを待っているため、常に 2 回目に動作するのです。接続オブジェクトでフラッシュを強制する方法はありますか?

4

1 に答える 1

0

-ORBDebugLevel 10 を指定して TAO 側を実行し、ORB がメッセージとして出力する内容を確認します。あなたの TAO のバージョンはかなり古いです。http://download.dre.vanderbilt.eduからダウンロードできる TAO 2.0.3 を確認してください。

于 2011-07-04T09:17:03.857 に答える