• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            西城

            指尖代碼,手上年華

            聯系 聚合 管理
              20 Posts :: 0 Stories :: 62 Comments :: 0 Trackbacks
            這是orbit文檔中自帶的一些例子中總結出來。還沒看完所有的例子,所以可能會有些遺漏。
            服務器端:
            首先是兩個全局變量:CORBA_ORB和PortableServer_POA
            1.創建一個CORBA_Object 類型的變量,一般初始化為CORBA_OBJECT_NIL
            2.用來寫入IOR的文件(這個應該是可選的,還有其他的實現方法)。
            3.環境變量,用來存儲錯誤信息之類的。CORBA_Environment,(不知道為什么例子中都是一個長度
            為一的數組)。
            4.初始化:用命令行傳入的參數,全局變量global_orb和root_poa,以及環境變量進行初始化。
            (1)PortbaleServer_POAManager 
              (2)設置局部CORBA_Environment變量(用于保存錯誤信息)
            (3)設置SIGINT和SIGTERM的信號處理函數
            (4)CORBA_ORB_init.ORB初始化,返回一個orb.
              (5)CORBA_ORB_resolve_initial_references.用ORB返回一個POA
            (6)PortableServer_POA__get_the_POAManager.用POA得到一個POA_Manager
              (7) PortableServer_POAManager_activeate。激活POA_Manager.
              (8)CORBA_OBject_release.釋放POA_Manager?
            5.激活服務。
            利用已經生成好的框架,這里只是簡單的調用。impl_X__create.這里X為實際的類,poa為參數。返回一個類的實例。
            6.IOR寫入文件,供客戶端讀取
            7.服務運行:
            CORBA_ORB_run.主事件循環。
            8.清理工作
            (1)PortableServer_POA_reference_to_id
              (2)PortableServer_POA_deactivate_object
              (3)PortableServer_POA_destroy。銷毀POA
            (4)CORBA_free釋放objid
              (5)CORBA_Object_release.又一次POA釋放?
            (6)CORBA_Object_release.釋放實際的類。
            (7)若ORB不空,CORBA_ORB_destroy
            客戶端:client
            1.initializes the environment.CORBA_Environment
            2.client initialize. init signal handling (SIGINT,SIGTERM).
            CORBA_ORB_init(similar to the server)
            3.read IOR from the file and translate it a X object
            4.run the client.use the method of X to do the real work.
            4.do some cleanup.
            CORBA_Object_release.
            if orb is not NULL,do CORBA_ORB_destroy.
            客戶端的代碼量要比服務器端的少一些。不過大致流程都一樣。orbit已經為服務器端生成了很多結構化的代碼。而且,大部分CORBA程序都可以按著這個流程來,真正的實現部分并不多,所以熟悉了之后就可以寫出很規范的代碼。
            posted on 2012-03-24 23:00 西城 閱讀(661) 評論(0)  編輯 收藏 引用 所屬分類: Corba
            国产激情久久久久久熟女老人| 亚洲国产成人久久笫一页| 国产99久久久国产精品小说| 亚洲午夜无码久久久久小说| 国产精品久久久久久久人人看| 欧美精品久久久久久久自慰| 国内精品久久久久久久亚洲 | 久久这里的只有是精品23| 国产精品久久久久久久久软件| 2021精品国产综合久久| 91久久精品国产91性色也| 久久久久久国产a免费观看黄色大片| 99久久综合狠狠综合久久止| 久久精品国产精品亚洲艾草网美妙 | 久久久午夜精品| 国产精品久久精品| 中文字幕无码精品亚洲资源网久久| a级毛片无码兔费真人久久| 久久中文字幕人妻丝袜| 亚洲精品国产成人99久久| 亚洲午夜久久久久妓女影院 | 一本久久久久久久| 国产精品久久久久久久久软件| 久久精品国产亚洲一区二区三区| 色欲久久久天天天综合网精品| 亚洲精品成人久久久| 伊人久久综在合线亚洲2019| 伊人久久大香线蕉综合影院首页 | 国内精品久久久久久久久电影网| 欧美日韩精品久久久免费观看| 国内精品久久久久久久亚洲| 久久久无码一区二区三区| 亚洲精品乱码久久久久久蜜桃图片| 亚洲国产成人久久笫一页| 97精品伊人久久久大香线蕉| 91精品国产综合久久久久久| 久久精品成人免费网站| 久久综合给久久狠狠97色| 久久男人Av资源网站无码软件| 国产精品视频久久| 99精品久久精品一区二区|