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

萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博: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 萬連文 閱讀(2722) 評論(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,請問該如何解決?  回復  更多評論
  
簡歷下載
聯系我

<2006年9月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用鏈接

留言簿(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热这里只有精品8| 亚洲一区免费观看| 亚洲精品免费在线观看| 日韩视频永久免费| 亚洲欧美日韩国产综合| 午夜精品在线| 可以看av的网站久久看| 亚洲国产精品高清久久久| 亚洲人成人99网站| 亚洲一区二区视频在线观看| 欧美中文字幕视频| 另类成人小视频在线| 欧美日韩亚洲一区二区| 国产一区二区三区在线观看免费视频 | 欧美自拍偷拍| 麻豆视频一区二区| 国产精品老女人精品视频| 国内精品伊人久久久久av一坑| 亚洲人成高清| 欧美一区免费视频| 亚洲人线精品午夜| 久久精品视频在线播放| 欧美久久成人| 黄色成人精品网站| 亚洲欧美中文日韩v在线观看| 欧美成人日本| 欧美在现视频| 国产精品网站在线观看| 99精品久久| 蜜臀99久久精品久久久久久软件 | 亚洲二区在线| 国产精品亚洲一区| 亚洲日本在线观看| 久久亚洲综合色一区二区三区| 亚洲国产专区| 狼狼综合久久久久综合网 | 亚洲一卡久久| 欧美激情性爽国产精品17p| 国产婷婷色一区二区三区| 亚洲视频免费在线| 亚洲欧洲日产国产综合网| 久久精品视频免费播放| 国产欧美精品一区| 亚洲专区免费| 一区二区三区四区五区在线 | 国模叶桐国产精品一区| 午夜在线一区二区| 宅男噜噜噜66一区二区66| 欧美激情一区二区在线| 亚洲经典视频在线观看| 欧美69wwwcom| 久久深夜福利免费观看| 雨宫琴音一区二区在线| 美日韩精品视频| 久久深夜福利免费观看| 尤物99国产成人精品视频| 久久亚洲精品网站| 久久精品国产99国产精品| 国产主播一区二区三区| 开心色5月久久精品| 狼人天天伊人久久| 亚洲日本在线视频观看| 亚洲精选一区| 国产精品亚洲综合| 久久久午夜视频| 久久精品国产2020观看福利| 怡红院av一区二区三区| 欧美高清一区二区| 欧美日韩国产一区二区三区地区| 一本色道久久99精品综合| 亚洲午夜女主播在线直播| 国产一区二区激情| 免费国产一区二区| 欧美大片在线观看| 亚洲一区二区三区涩| 午夜日韩电影| 亚洲激情二区| 中日韩美女免费视频网址在线观看 | 亚洲午夜精品视频| 国产一区二区三区久久久久久久久 | 老**午夜毛片一区二区三区| 久久激情视频久久| 亚洲清纯自拍| 一本综合精品| 韩国精品一区二区三区| 欧美激情在线免费观看| 欧美日韩一区二区三区四区在线观看 | 国产伦精品一区| 麻豆精品在线播放| 欧美日韩一区高清| 久热国产精品| 国产精品久久久免费| 欧美sm视频| 国产精品一区二区三区免费观看 | 亚洲欧美日韩爽爽影院| 亚洲电影av在线| 亚洲午夜电影在线观看| 亚洲国产精品一区二区三区| 99精品视频一区| 亚洲国产精品日韩| 午夜精彩国产免费不卡不顿大片| 亚洲国产视频一区| 午夜精品久久| 亚洲丝袜av一区| 欧美成人精品在线播放| 久久久久久久久蜜桃| 欧美午夜在线| 亚洲大胆美女视频| 国产在线观看91精品一区| 亚洲视频日本| 夜色激情一区二区| 免费亚洲电影在线| 狂野欧美激情性xxxx欧美| 国产精品一区二区黑丝| 日韩一区二区精品葵司在线| 亚洲国产一区二区三区在线播| 亚洲欧美一区二区原创| 亚洲影院色无极综合| 欧美日韩国产黄| 亚洲第一精品久久忘忧草社区| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区色| 一区二区三区免费看| 欧美国产精品va在线观看| 免费观看日韩| 亚洲大胆在线| 牛牛国产精品| 亚洲第一网站免费视频| 亚洲日本理论电影| 欧美精品一区三区| 亚洲免费电影在线| 亚洲一区免费网站| 99re热这里只有精品免费视频| 久久理论片午夜琪琪电影网| 久久一区二区精品| 在线观看视频一区二区| 久久久久久色| 男人的天堂亚洲| 1024成人| 欧美激情一区二区三区全黄 | 国产亚洲视频在线观看| 欧美一区三区二区在线观看| 久久精品国产久精国产一老狼| 国产亚洲欧美激情| 久久天堂精品| 亚洲国产一区二区三区高清| 99精品热视频| 国产精品中文在线| 久久婷婷成人综合色| 亚洲激情成人网| 亚洲欧美日产图| 黄色亚洲在线| 欧美激情小视频| 999亚洲国产精| 欧美在线观看视频在线| 亚洲国产第一| 国产精品久久久久久久久免费樱桃 | 欧美成人午夜视频| 亚洲免费av片| 国产乱码精品一区二区三区av| 欧美中文字幕视频| 亚洲人成精品久久久久| 亚洲欧美999| 伊人久久亚洲美女图片| 欧美成在线视频| 亚洲综合色噜噜狠狠| 欧美v日韩v国产v| 亚洲欧美国内爽妇网| 在线免费日韩片| 国产精品国色综合久久| 久久亚洲国产精品日日av夜夜| 日韩网站免费观看| 美日韩精品免费| 欧美一级午夜免费电影| 亚洲精品黄色| 激情久久影院| 国产乱码精品1区2区3区| 欧美—级a级欧美特级ar全黄| 欧美一级艳片视频免费观看| 亚洲人成网站色ww在线| 久久裸体艺术| 欧美一区二区大片| 在线亚洲欧美| 亚洲精品在线视频| 伊人久久大香线| 国产午夜精品全部视频播放| 欧美日韩精品二区| 蜜桃av一区二区| 久久精品国产清高在天天线| 亚洲精品孕妇| 亚洲激情av在线| 欧美激情中文字幕一区二区| 久久久91精品国产| 午夜久久电影网| 欧美日韩午夜激情| 一区二区三区**美女毛片| 欧美大尺度在线观看| 欧美一区亚洲一区| 亚洲午夜一区二区三区|