忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[327]  [325]  [324]  [323]  [322]  [321]  [320]  [319]  [318]  [317]  [316
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

CORBAについては分かり易く解説してるサイトがあったので,そちらを見た方が良さそうですね.

ちなみにOmniORBのマニュアルはこのページです.

なんで前々回の記事でリンク集作ったかって言うと,僕のブログやHP見るより他のサイトを見る方が参考になると思ってるからですしね.




それはおいといて,今回は前回のサンプルのソースを見ていこうと思います.

まず,先頭に

#    undef USE_stub_in_nt_dll
#  include "example_echo.hh"

#  include "example_echoSK.cc"



と記述してください.

mainでは,


      // ORBの生成と初期化
    CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);

    // RootPOA(ツリー構造のルート)への参照を取得
    CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
    PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);

    //サーバントオブジェクト
    Echo_i* myecho = new Echo_i();

    //オブジェクトIDを生成し,サーバントをAOMに格納
    PortableServer::ObjectId_var myechoid = poa->activate_object(myecho);

    //サーバントのオブジェクトリファレンス取得
    Example::Echo_var myechoref = myecho->_this();

    //リファレンスカウンタ
    myecho->_remove_ref();

    //POAManagerオブジェクトの取得とアクティブ状態への遷移
    PortableServer::POAManager_var pman = poa->the_POAManager();
    pman->activate();

    //hello関数(後述)
    hello(myechoref);

    // ORBの破棄
    orb->destroy();



みたいな流れですかね.説明が間違ってる可能性もありますが.

hello関数では,


  //オブジェクトリファレンスeによりechoStringを呼び出す
   CORBA::String_var dest = e->echoString(src);



しかしてないです.
echoStringからは同じ文字列が返されます.



今回は自分が要求を受け付けるサーバーで,echoStringの処理を要求するクライアントも自分という感じでしたが,次回はネーミングサービスを使って違うプログラムにします.







にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
36
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]