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

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

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

簡單介紹?

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

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

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

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

?

一個 DCOM 程序實現

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

創建 DCOM 組件

打開 VC6 ,首選創建一個 ATL 工程 DComServer

選擇完成。

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

實現方法:

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

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

打開Settings,進行工程設置:

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

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

實現連接和獲取消息按鈕事件:

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);
????
// ?如果已經連接上
???? if (m_pIServer)
????
{
????????m_pIServer
-> Release();
????????m_pIServer?
= ?NULL;
????}

????ZeroMemory(
& serverInfo,? sizeof (COSERVERINFO));
????serverInfo.pwszName?
= ?m_strServer.AllocSysString();
????
// ?創建遠程組件
????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服務! " ));
????}

}

?

部署客戶端

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

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


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

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(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>
            欧美视频观看一区| 亚洲高清久久网| 亚洲巨乳在线| 国产精品一香蕉国产线看观看| 亚洲丝袜av一区| 久久一区中文字幕| 亚洲一区二区在| 亚洲激情欧美激情| 国产亚洲欧美日韩美女| 久久精品国语| 亚洲自拍偷拍麻豆| 99综合视频| 91久久精品美女高潮| 欧美国产三区| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲一区二区精品在线| 亚洲国产日日夜夜| 影音先锋中文字幕一区| 国产日韩在线不卡| 国产精品美女www爽爽爽视频| 欧美日韩美女一区二区| 欧美精彩视频一区二区三区| 久久理论片午夜琪琪电影网| 久久精品国产在热久久 | 亚洲永久视频| 亚洲午夜精品一区二区三区他趣| 日韩西西人体444www| 亚洲精品免费电影| 亚洲精品国产拍免费91在线| 亚洲精品久久久久久久久久久久久| 欧美福利一区| 亚洲大胆美女视频| 亚洲精品免费一区二区三区| 亚洲精品国久久99热| 99成人在线| 香蕉久久夜色精品国产| 欧美一区二粉嫩精品国产一线天| 午夜久久资源| 久久综合中文色婷婷| 欧美xx视频| 国产精品久久久久9999高清| 国产精品欧美日韩| 亚洲成人资源网| 亚洲深夜福利网站| 久久久亚洲高清| 亚洲激情成人在线| 午夜精品在线看| 久久综合九色欧美综合狠狠| 欧美精品自拍| 国产综合婷婷| 亚洲色图自拍| 蜜臀av一级做a爰片久久| 亚洲欧洲日本在线| 欧美一区免费| 欧美日韩国产小视频在线观看| 国产精品大全| 在线观看视频免费一区二区三区 | 久久精品国产77777蜜臀| 欧美激情第9页| 香蕉尹人综合在线观看| 欧美国产在线电影| 国产一区二区三区四区老人| 久久精品欧美日韩| 免费看精品久久片| 亚洲天堂成人在线观看| 欧美大片免费看| 狠狠色丁香婷婷综合久久片| 亚洲一区制服诱惑| 亚洲美女色禁图| 久久亚洲不卡| 国产日韩欧美在线播放| 亚洲欧美在线一区二区| 日韩视频第一页| 欧美精品一区在线| 亚洲韩国日本中文字幕| 美日韩在线观看| 久久综合九色综合欧美狠狠| **欧美日韩vr在线| 亚洲欧美日韩国产中文在线| 老鸭窝毛片一区二区三区| 亚洲最新在线视频| 久久亚洲高清| 国产精品一区=区| 99热精品在线| 久久亚洲电影| 亚洲视频电影在线| 国产精品国产三级国产普通话99 | 亚洲三级免费观看| 欧美成人高清| 欧美日韩视频在线一区二区观看视频| 亚洲激情在线观看| 亚洲日本视频| 卡通动漫国产精品| 亚洲大片免费看| 男男成人高潮片免费网站| 久久久久久久成人| 亚洲第一福利视频| 欧美高清在线视频| 欧美日韩午夜| 欧美在线观看网址综合| 久久久久久亚洲精品中文字幕 | 亚洲欧美日产图| 性欧美8khd高清极品| 影音先锋日韩资源| 亚洲欧洲一区二区三区久久| 国产精品久久久久99| 久久亚洲私人国产精品va媚药| 久久精品欧美日韩| 夜夜嗨网站十八久久| 亚洲一二三四久久| 亚洲国产天堂久久国产91| 日韩午夜免费| 国产在线乱码一区二区三区| 亚洲国产成人午夜在线一区| 欧美激情亚洲视频| 欧美在线视频网站| 欧美精品久久久久久久久老牛影院 | 欧美高清视频在线观看| 欧美日韩精品免费看| 久久精精品视频| 欧美国产日韩视频| 另类综合日韩欧美亚洲| 欧美精品在线一区| 蜜桃视频一区| 国产日韩在线视频| 亚洲欧美中文日韩v在线观看| 亚洲精品在线视频观看| 欧美一级免费视频| 亚洲欧美成人精品| 欧美成人蜜桃| 美女国产精品| 国产欧美精品一区| 在线综合视频| 日韩亚洲国产欧美| 免费欧美在线| 男男成人高潮片免费网站| 国产一区二区视频在线观看| av不卡在线观看| 亚洲日本va在线观看| 久久精品国产v日韩v亚洲 | 亚洲自拍电影| 亚洲一区影音先锋| 欧美日韩一区成人| 亚洲精品在线视频| 亚洲视频网站在线观看| 欧美成人中文字幕| 亚洲激情在线| 99精品国产高清一区二区| 欧美69wwwcom| 亚洲国产婷婷香蕉久久久久久| 日韩一级黄色大片| 欧美日韩成人免费| 最近中文字幕mv在线一区二区三区四区| 亚洲国产第一页| 欧美激情精品久久久六区热门| 亚洲三级国产| 欧美一区二区在线观看| 国产美女精品免费电影| 久久婷婷综合激情| 亚洲国产精品久久久久婷婷884 | 欧美一区二区三区在线视频| 女主播福利一区| 亚洲小说区图片区| 国产一区二区在线免费观看| 久久久精品午夜少妇| 亚洲福利视频一区二区| 一二三区精品福利视频| 国产精品va在线| 亚洲女ⅴideoshd黑人| 欧美高清在线精品一区| 亚洲一区二区四区| 亚洲国产99精品国自产| 欧美日韩一视频区二区| 亚洲欧美日韩在线播放| 欧美黄色网络| 久久久99久久精品女同性| 夜夜嗨av色综合久久久综合网| 国产乱码精品1区2区3区| 欧美fxxxxxx另类| 亚洲少妇最新在线视频| 欧美aⅴ99久久黑人专区| 亚洲免费影视第一页| 亚洲国产精品久久久久| 国产区亚洲区欧美区| 欧美日韩黄色一区二区| 欧美在线视频一区二区三区| 夜夜嗨av一区二区三区| 亚洲国产精品www| 久久久久久一区二区| 亚洲一区免费| 一区免费观看视频| 欧美日韩三区| 欧美日韩精品一区| 欧美成人在线免费观看| 蜜月aⅴ免费一区二区三区 | 欧美日韩国产电影| 欧美电影免费网站| 欧美一区二区网站| 亚洲盗摄视频| 日韩午夜视频在线观看|