青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0

學習 COM 的時候,一直強調(diào) COM 的位置透明,但是始終感覺不到透明,組件都是本機注冊的。知道分布式 COM 其實就是 DCOM 可以實現(xiàn)遠程調(diào)用組件,但是一直懶于看,遲遲沒有很好理解。眼看著分布式軟件設(shè)計這么流行, .NET 、 J2EE 大行其道,橫下心先把 DCOM 拿下。至于 DCOM 好處我不多說,上網(wǎng) google 一下,最大的缺點是配置麻煩,尤其是存在防火墻的時候更麻煩(網(wǎng)上說的,我沒有防火墻,呵呵)。

簡單介紹?

從這個圖看看客戶端和服務器端分別需要什么(由于開始沒有理解,客戶端接口查詢老失敗,花費我半天時間)

客戶端:客戶程序、代理 / 存根

服務器端:服務器組件、代理 / 存根

這里可以看出 DOM 是針對 COM 遠程調(diào)用( RPC )的實現(xiàn),封裝了底層通信。有些程序開發(fā)就是在使用 Socket DCOM 之間選擇。

?

一個 DCOM 程序?qū)崿F(xiàn)

實現(xiàn)一個簡單的功能: DCOM 組件提供一個接口方法獲取歡迎信息,客戶端調(diào)用接口獲取信息并顯示。

創(chuàng)建 DCOM 組件

打開 VC6 ,首選創(chuàng)建一個 ATL 工程 DComServer

選擇完成。

添加一個 ATL 組件,取名 Server ,添加一個接口方法:

實現(xiàn)方法:

STDMETHODIMP?CServer::GetInfo(BSTR? * pbstrInfo)
{
???????
// ?TODO:?Add?your?implementation?code?here
??????? if (pbstrInfo)
???????
{
??????????????
* pbstrInfo? = ?SysAllocString(L " 你好,這里是DCOM服務器! " );
???????}

???????
return ?S_OK;
}

打開Settings,進行工程設(shè)置:

編譯可以發(fā)現(xiàn)項目目錄下面生成了 DComServerps.dll ,這個就是代理存根,需要在客戶和服務器注冊。

創(chuàng)建客戶端調(diào)用(一個基于對話框的 MFC 程序) (記的要初始化 COM 庫)

實現(xiàn)連接和獲取消息按鈕事件:

void ?CDComClientDlg::OnButtonConnect()?
{
????
// ?TODO:?Add?your?control?notification?handler?code?here
????COSERVERINFO????serverInfo;
????MULTI_QI????????multiQi????????
= ? { & IID_IServer,?NULL,?NOERROR} ;
????HRESULT????????????hr????????????
= ?NOERROR;
????UpdateData(TRUE);
????
// ?如果已經(jīng)連接上
???? if (m_pIServer)
????
{
????????m_pIServer
-> Release();
????????m_pIServer?
= ?NULL;
????}

????ZeroMemory(
& serverInfo,? sizeof (COSERVERINFO));
????serverInfo.pwszName?
= ?m_strServer.AllocSysString();
????
// ?創(chuàng)建遠程組件
????hr? = ?CoCreateInstanceEx(
????????CLSID_Server,
????????NULL,
????????CLSCTX_REMOTE_SERVER,
????????
& serverInfo,
????????
1 ,
????????
& multiQi);
????
// ?釋放字符串指針
????SysFreeString(serverInfo.pwszName);
????
if (SUCCEEDED(hr))
????
{
????????m_pIServer?
= ?(IServer * )multiQi.pItf;
????????AfxMessageBox(_T(
" 連接成功! " ));
????}

????
else
????
{
????????AfxMessageBox(_T(
" 連接失敗! " ));
????}

}


void ?CDComClientDlg::OnButtonGetmessage()?
{
????
// ?TODO:?Add?your?control?notification?handler?code?here
????BSTR????bstrInfo;
????USES_CONVERSION;
????
if (m_pIServer)
????
{
????????m_pIServer
-> GetInfo( & bstrInfo);
????????AfxMessageBox(W2A(bstrInfo));
????}

????
else
????
{
????????AfxMessageBox(_T(
" 請連接DCOM服務! " ));
????}

}

?

部署客戶端

這個地方有網(wǎng)上說很麻煩,需要關(guān)閉防火墻、需要用戶名一致等,不過我還好,服務器是 Win2k sp4 administrator 帳戶,客戶端是 Win2k3 sp1 administrator 帳戶,一次性就可以創(chuàng)建遠程組件,就是查詢接口時候老是失敗。花了半天時間上網(wǎng)才發(fā)現(xiàn)需要注冊代理存根 dll ,就是編譯 DComServer 之前需要設(shè)置的。

拷貝 DComServer 下的 DComServerps.dll DComClient Debug 里面的 DComClient.exe 到客戶端,使用 regsvr32 注冊 DComServerps.dll ,運行 DComClient.exe

連接 DCOM 服務:

服務器進程自動啟動:

獲取消息:

?
代碼下載。(里面有說明)

?

posted on 2006-07-10 11:25 萬連文 閱讀(2731) 評論(8)  編輯 收藏 引用 所屬分類: ATL

FeedBack:
# re: 分布式設(shè)計之DCOM實現(xiàn)
2006-07-10 18:58 | LOGOS
汗.你要用RPC的話,用web service比DCOM好多了.  回復  更多評論
  
# re: 分布式設(shè)計之DCOM實現(xiàn)
2006-07-14 00:07 | hi
兄弟,dcom微軟已經(jīng)不再進行后期研發(fā)維護了,都改com+,Dot Net呢!  回復  更多評論
  
# re: 分布式設(shè)計之DCOM實現(xiàn)
2006-07-14 10:08 | 萬連文
謝謝以上兩個兄弟對我的友情提示,我知道技術(shù)越用越簡單,我覺得自己應該一步一個腳印走過去,很難說.NET技術(shù)底層實現(xiàn)思想很大超越COM。  回復  更多評論
  
# re: 分布式設(shè)計之DCOM實現(xiàn)
2007-03-18 10:58 | 小橋
.NET本身就是個COM  回復  更多評論
  
# re: 分布式設(shè)計之DCOM實現(xiàn)
2007-03-18 10:59 | 小橋
望交流,QQ:2220911  回復  更多評論
  
# re: 分布式設(shè)計之DCOM實現(xiàn)
2008-07-07 12:03 | liyongcheng
客戶端傳遞給服務器一個字符串怎么實現(xiàn)。


  回復  更多評論
  
# re: 分布式設(shè)計之DCOM實現(xiàn)
2008-07-07 23:07 | lwan
服務器添加一個接口傳遞字符串應該就可以了吧  回復  更多評論
  
# re: 分布式設(shè)計之DCOM實現(xiàn)
2011-12-05 12:53 | lhh
DCOM 跨機訪問總是出權(quán)限問題, CoCreateInstanceEx返回ACCESSDENIED,請問該如何解決?  回復  更多評論
  
簡歷下載
聯(lián)系我

<2011年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(66)

隨筆分類

隨筆檔案

相冊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品乱码视频 | 欧美主播一区二区三区美女 久久精品人 | 午夜精品久久久久影视| 亚洲国产日韩精品| 欧美一级欧美一级在线播放| 日韩视频在线免费| 久久精品一本久久99精品| 亚洲午夜免费视频| 欧美成人精品在线| 免费在线欧美视频| 国产日韩欧美精品一区| 99精品视频免费观看视频| 影音先锋久久久| 亚洲欧美日韩久久精品| 亚洲欧美日韩一区| 欧美色道久久88综合亚洲精品| 欧美激情女人20p| 在线精品亚洲一区二区| 翔田千里一区二区| 欧美一级片在线播放| 国产精品成人av性教育| 91久久在线播放| 亚洲三级视频在线观看| 蜜桃av一区二区在线观看| 免费观看成人| 亚洲电影欧美电影有声小说| 久久久91精品国产一区二区精品| 欧美在线国产精品| 国产区精品视频| 亚洲综合首页| 久久成人免费网| 国产一区二区成人久久免费影院| 亚洲午夜视频| 欧美在线免费一级片| 国产亚洲欧美一区二区| 欧美一区国产二区| 久久这里只有精品视频首页| 国产又爽又黄的激情精品视频| 欧美伊人久久久久久午夜久久久久| 欧美一区综合| 精品av久久707| 久久综合五月| 亚洲激情国产精品| 亚洲免费人成在线视频观看| 国产精品丝袜91| 欧美一激情一区二区三区| 久久久久久夜| 91久久嫩草影院一区二区| 欧美激情在线| 一本一本大道香蕉久在线精品| 亚洲一区二区三区高清| 国产深夜精品| 毛片av中文字幕一区二区| 亚洲日本国产| 亚洲欧美中文日韩在线| 国内精品一区二区三区| 欧美~级网站不卡| 中文国产成人精品久久一| 欧美一区视频| 亚洲人成在线观看网站高清| 欧美午夜电影一区| 欧美在线观看视频在线| 亚洲国产视频a| 欧美亚洲视频| 亚洲激情网址| 国产精品一二三| 美女精品网站| 亚洲夜晚福利在线观看| 欧美大片免费久久精品三p | 久久av一区二区| 亚洲激情社区| 国产亚洲精品美女| 欧美日本在线看| 久久精品首页| 亚洲特色特黄| 亚洲国产欧美一区二区三区同亚洲| 亚洲一区二区三区在线看 | 欧美成人亚洲成人| 亚洲一级一区| 亚洲国产专区校园欧美| 国产精品激情电影| 久久综合色播五月| 亚洲欧美中文另类| 亚洲精品一区二区三区四区高清| 久久久久久久久久看片| 亚洲在线免费视频| 亚洲国产一区二区三区在线播| 国产精品永久在线| 欧美视频官网| 欧美激情四色| 免费国产一区二区| 久久精品色图| 午夜精品www| 在线视频一区二区| 亚洲精品免费一二三区| 男人天堂欧美日韩| 久久久精品免费视频| 午夜在线视频观看日韩17c| 亚洲精品视频一区| 亚洲经典在线| 亚洲电影网站| 激情婷婷欧美| 国产一区二三区| 国产欧美日韩91| 国产精品成人免费精品自在线观看| 欧美黑人在线观看| 裸体歌舞表演一区二区| 久久久美女艺术照精彩视频福利播放| 亚洲免费在线视频一区 二区| 一区二区三区产品免费精品久久75 | 99精品欧美| 一区二区三区蜜桃网| 99国产精品久久久久久久成人热| 亚洲精品免费在线观看| 亚洲日本免费| 亚洲精品视频一区| 一本久久a久久免费精品不卡| 日韩一级在线| 在线亚洲观看| 亚洲欧美日韩精品久久亚洲区| 亚洲视频一区二区免费在线观看| 一区二区三区日韩欧美精品| 亚洲天堂男人| 欧美在线黄色| 美女国产一区| 亚洲第一在线视频| 亚洲美女视频网| 亚洲一区在线观看视频| 欧美一区二区三区在线视频 | 一区二区三区国产精品| 亚洲视频二区| 欧美一二区视频| 久久美女艺术照精彩视频福利播放| 久久免费视频观看| 亚洲福利视频网| 99精品国产在热久久下载| 在线一区二区三区四区五区| 亚洲欧美日韩成人高清在线一区| 欧美在线视频观看免费网站| 久久婷婷国产综合精品青草| 欧美精品在线看| 国产麻豆午夜三级精品| 伊人色综合久久天天| 99精品热6080yy久久 | 久久精品视频免费| 欧美成黄导航| 正在播放亚洲一区| 久久夜色精品国产欧美乱极品| 欧美日韩国产高清| 国产日韩欧美一区二区三区在线观看| 亚洲高清久久久| 亚洲综合国产精品| 美女主播精品视频一二三四| 一区二区三区免费网站| 久久成人综合网| 欧美美女bbbb| 韩国亚洲精品| 亚洲一区在线直播| 美女黄毛**国产精品啪啪| 99精品欧美一区二区三区| 久久精品国产亚洲一区二区| 欧美日韩一区二区免费在线观看 | 国产精品最新自拍| 亚洲人成网站色ww在线| 久久精品国产成人| 日韩视频第一页| 久久在线免费视频| 国产精品视频网| 99精品福利视频| 免费亚洲视频| 午夜精品视频在线观看| 欧美日韩免费视频| 怡红院精品视频| 欧美资源在线| 夜夜爽夜夜爽精品视频| 欧美成人激情在线| 在线观看视频一区| 久久精品99国产精品酒店日本| 亚洲青色在线| 免费成人av| 在线观看亚洲视频| 久久激情中文| 午夜精品一区二区三区在线播放| 欧美三级电影精品| aa级大片欧美三级| 亚洲国产日韩综合一区| 久久综合给合| 永久久久久久| 美女视频黄a大片欧美| 欧美伊久线香蕉线新在线| 国产精品日本一区二区| 一区二区三区日韩欧美精品| 亚洲国产精品久久人人爱蜜臀 | 午夜精品久久久久99热蜜桃导演| 亚洲精品乱码久久久久久按摩观| 欧美激情综合五月色丁香| 亚洲三级免费观看| 亚洲国产三级在线| 欧美日韩大陆在线| 亚洲在线视频|