麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

用VB開發分布式應用

2019-11-18 17:52:20
字體:
來源:轉載
供稿:網友
微軟推出的VB是一個功能強大的開發平臺。它在“代碼重用性”上地加強是一個引人注目的特點。我們可以將需要多次重復使用的功能單元開發成activex組件(activexcontrol,activexexe,activexdll),然后在新程序中象使用vb標準控件及類一樣使用這些組件。activex組件給開發網絡應用帶來很大方便。我們可以將這些組件分布在網絡的不同機器上,構成分布式應用,就好象所有組件都在同一臺機器上一樣。很多朋友都有開發本地activex組件的經驗,本文將結合實例介紹一下如何將activex組件分布在網絡上構成分布式應用。

一、概述

  “activex"是微軟為分布式計算制定的一套標準,它的前身就是大家所熟知的“oleautomation"。當分布式應用通過網絡通訊時,activex可以使用兩種不同的機制對客戶請求作出響應。一種稱為“分布組件對象模式(dcom)”,只可以在windowsnt和windows95上使用;另一種是“遠程自動化(remoteautomation)",它可以在16位環境下構造分布式應用。

  這兩種分布式機制,有著極其引人的特點:與組件物理位置的無關性。也就是說,當你構造一個activex組件時,無需知道它將分布在那一臺機器上。同樣的組件,即可以將它放在本機,也可以將它分布在其它機器上而不需要從新編譯。這樣,根據網絡的性能和網絡結構的變化,我們可以方便的調整組件的分布策略。

  當然,用activex構建分布式應用的各個獨立組件,還有其它優點:

  構造遠程組件和構造本地組件的編程方法一模一樣,無須特殊的工程經驗。可以用activex組件在服務器端實現復雜的商業規則。比起用dbms(如sqlserver)來完成同樣的工作,我們有更好地編程、維護、排錯手段。

  有大量的商業組件可以使用。而且這樣的組件會越來越多。我們只需將特殊的商業規則開發成組件,與購買的組件配合使用。

二、開發和調試

  開發分布式組件和開發本地組件相同,調試也可以在本地完成,本文不在贅述。(可以參看VB所帶的例子:/sample/clisvr/booksale/client/book_cli.vbp客戶端程序;/sample/clisvr/booksale/client/book_svr.vbp服務器程序。)在開發分布式服務器段組件時,請注意下列問題:

  服務器端的PRoject應為activexexe(進程外的activex組件)。這也很容易理解,不可能在兩臺機器上完成同一個進程,所以,不可能使用activexdll(進程內的組件)。

  在projectproperties對話框的組件欄目下,應設為remoteserverfile。這樣,在程序編譯時會生成一個vbr文件,在生成安裝盤時要用。大家知道,windows程序在系統注冊表中有注冊,此文件與注冊有關。

  class屬性應設為mutiuse,以便多個客戶應用可以使用它。

三、生成安裝盤

  服務器端組件及客戶端程序將安裝在不同的機器上,應利用setupwizard分別生成安裝程序。

  當生成客戶端程序安裝盤時,需提供服務器組件所在的機器名(以后可以修改),這將影響客戶端機器的注冊項,這些注冊項告訴客戶端程序,到那里去尋找相應的服務(即服務器端組件提供的服務)。微軟提供了工具,可以根據需要隨時修改這些注冊項。如果使用remoteautomation機制,可使用remautoconnectionmanager;如使用dcom機制,可使用dcomconfigurationmanager。remautoconnectormanager在VB軟件包中即有,在生成安裝盤時將自動包括它。windowsnt4.0中包含dcomconfigurationmanager,可直接使用。對于windows95,需從www.microsoft.com下載dcom95.exe及dcom95cfg.exe并運行,可得到dcomconfigurationmanager(注意要重新啟動機器)。

  利用上述工具,可實現如下功能:

  1.可以隨時切換服務器組件是在本地還是遠程。這樣可以方便的在本機調試遠程組件。

  2.可隨時改變服務器組件的安裝位置。

  如何生成服務器端安裝程序:

  1.使用setupwizard,按要求指明project文件所在的路徑,并指明“產生安裝程序”。

  2.在進入“shareactiveapplication”畫面時,選擇“安裝為一個共享組件”。如果你準備使用remoteautomation,在畫面下方選擇“yes";如使用dcom,選擇“no”。如果使用remoteautomation,remautoconnectionmanager(racmgr32.exe)、remoteautomationmanager(autmgr32.exe)將自動包含在安裝程序內。

  如何生成客戶端安裝程序:

1.使用setupwizard,按要求指明project文件所在的路徑,并指明“產生安裝程序”。

2.進入“activex組件”畫面時,按addremote按紐指定服務器組件對應的vbr文件(包含服務器組件的objectid等注冊信息)。

3.這時,會彈出“remoteconnectiondetails”對話框。選擇使用remoteautomation或dcom;輸入服務器的機器名。如果使用remoteautomation,還需確定通訊協議,如tcp/ip等。驗證級別用來保證客戶端與服務器間通訊的安全性。這是一個較為復雜的問題,為了簡化期間,選擇none即可。

4.返回“activexservercomponents”畫面。如果你的程序使用多個遠程組件,可逐一加入。相關的本地組件,可按“addlocal”一一加入。注意,系統缺省會將一些組件當作本地組件,不要將同一組件即當作遠程組件,又當作本地組件。

四、安裝與使用

  windowsnt4.0支持dcom,可直接安裝dcom分布式應用。對于windows95,需要安裝附加程序,以支持dcom分布式應用。但,windows95可直接安裝remoteautomation應用。

remoteautomation模式:

  分別在服務器及客戶端機器上安裝相應程序。在服務器端,要先啟動automationmanager(autmgr32.exe,安裝程序會自動將該文件拷到系統目錄下),客戶端才可建立連接。這種模式對操作系統要求較低,windows3.1,windows95,windowsnt等均可做服務器或客戶端。

  本方法提供的安全性較差,無法限制那些用戶可以連接或不可以連接。不過,系統還是提供了許多安全管理措施。讀者在學習時不妨做簡化處理:

  在服務器端啟動remoteautomationconnectionmanager(racmgr32.exe),在左側選相應的server組件,在右側clientaccess欄目下,選擇allowallremotecreates。

  關于客戶端的安裝,我們前面作過討論。利用remoteautomationconnectionmanager(racmgr32.exe),在serverconnection欄目下,我們可以隨時調整服務器組件的分布位置。

  remoteautomation這種模式提供了很大的靈活性,在安全性要求不高的場合,可以使用該模式。

dcom模式:

  要構造dcom應用,服務器端最好使用windowsntserver或windowsntworkstation,客戶端可使用windowsnt或windows95。這也符合實際應用的策略,servercomponent要求有較高的可靠性,一般分布在專用服務器上。
  在服務器組件安裝完畢后,要確定rpcservice是啟動的。在客戶端能夠建立連接之前,還需要配置訪問權限。

  為了簡單期間,你可以這樣做:

1.運行dcomcfg.exe(在系統目錄下)。

2.選擇相應組件,設置其properties。

3.在location欄目下,設為:runapponthiscomputer;在security欄目下,選擇定制安全性,并將權限給everyonefullcontrol。

  在客戶端的機器上,通過dcomcfg.exe,在location欄目下,可以指定服務器組件的安裝位置。
在windows95下構建dcom應用的特殊考慮:

  如果使用windows95做客戶端,應從VB的光盤或從www.microsoft.com找如下兩個文件:dcom95.exe,dcm95cfg.exe。安裝并重新啟動機器即可。

  如server端使用windows95,須考慮下列問題:

1.安全性將受到限制。

2.應手工在startup中加進server組件的啟動程序。

3.運行rpCSS.exe后,客戶端才可建立連接。

4.由于servercomponent是一個class,當沒有客戶程序參照它時,它會自動終止。可是,windows95沒有自動啟動它的機制。所以,要保證servercomponent不會從內存卸載。辦法是:在servercomponent中加入一個form,visible為false。程序從form啟動。

5.應從VB的光盤或從www.microsoft.com找如下兩個文件:dcom95.exe,dcm95cfg.exe。安裝并重新啟動機器。

6.手工改變注冊表:hkey_local_machine/software/microsoft/ole/enableremoteconnection改為“y"。否則,會出現“runtimeerror,activecomponentcannotbecreate”

7.如同在windowsnt上一樣,運行dcomcfg.exe并進行配置。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精选久久 | 久久精品黄 | 久久国产夫妻视频 | 国产在线欧美日韩 | 一级电影免费看 | 蜜桃网在线 | 久草在线最新 | 免费毛片视频 | 色成人在线 | 欧美精品一区二区三区在线 | 黄色成人在线 | 看免费一级毛片 | 久久99综合 | 亚洲情视频 | 一区二区国产在线 | 久久伊人国产精品 | 成人福利免费在线观看 | 久久精品在线免费观看 | a网在线| 欧美在线观看黄色 | 黄色片视频观看 | 精品国产一区二区三区在线 | 久久久久久久久日本理论电影 | 久久久毛片视频 | 国产1区2区3区在线观看 | 国产精品9191 | 污黄视频在线观看 | 欧美日韩国产综合网 | 天天舔天天插 | 在线无码 | 亚洲最新无码中文字幕久久 | 国产成人羞羞视频在线 | 色污视频在线观看 | 欧美18一12sex性处hd | 欧美精品一区二区三区在线播放 | 成人做爰高潮片免费视频美国 | 中文字幕观看 | 成人aaaa免费全部观看 | 特色一级黄色片 | 久久久精品视频网站 | 黄色免费av |