欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

DCOM的心跳

系統(tǒng) 1927 0

保持 DCOM 的心跳

?

文檔版本

版本

創(chuàng)建時(shí)間

創(chuàng)建人

備注

1.0.0114.1

2003-1-14

鄭昀

第一稿

?

?

?

?

編寫目的:

??? 本文檔將說(shuō)明 DCOM 的心跳給編程上的影響

概述

我們的程序員前不久遇到過(guò)這樣的一個(gè)奇怪的現(xiàn)象:

服務(wù)器端創(chuàng)建出一個(gè) ServerA 的實(shí)例,好幾個(gè)分布式的客戶端持有這個(gè)實(shí)例的引用,類似于 ConnectionPoint 的方式。客戶端負(fù)責(zé)向服務(wù)器端的實(shí)例發(fā)送電話撥入、按鍵、掛機(jī)等消息,服務(wù)器端負(fù)責(zé)處理這些消息。但是在生產(chǎn)環(huán)境中,每隔一段時(shí)間,服務(wù)器端調(diào)用持有的 客戶端 實(shí)例引用時(shí),得到一個(gè) COM 錯(cuò)誤 0x80010108 ,意思是說(shuō)被調(diào)用的對(duì)象已與其客戶端斷開連接。這時(shí)客戶端卻可以調(diào)用服務(wù)器端的實(shí)例,這時(shí)候的網(wǎng)絡(luò)通信質(zhì)量也很好。實(shí)在是看不出來(lái)會(huì)是什么原因?qū)е逻@種調(diào)用模式周期性出錯(cuò)。程序員報(bào)告這個(gè)時(shí)間大約是 7 分鐘。

COM+的心跳

排除了代碼錯(cuò)誤的可能性后,聯(lián)想到 COM+ 的一個(gè)特性:保持心跳。 COM+ 為了實(shí)現(xiàn) JIT( 即時(shí)激活 ) ,必須每隔一段時(shí)間讓 COM+ 組件的實(shí)例和調(diào)用方之間保持一個(gè)心跳,告訴調(diào)用方,我還活著。以前沒(méi)有想過(guò)它為什么要定期發(fā)送一次消息,通知對(duì)方自己健在呢?也許這是一種規(guī)則,如果不這么做的話,一定會(huì)有大麻煩。

那么是 DCOM 協(xié)議的制約了?

我們從新聞組中得到了一個(gè)模糊的說(shuō)明:

After 6 minutes of non usage, the server considers the client disconnected
and drops the connection. This is a fixed timeout for DCOM that cannot be
changed.

Okay ,看樣子我們的方向是正確的。確實(shí)存在一個(gè)約定的時(shí)間間隔: 6 分鐘。我們?cè)噲D描述我們得到的第一個(gè)概念: 6 分鐘內(nèi),服務(wù)器端沒(méi)有得到來(lái)自于客戶端的消息,就默認(rèn)客戶端已經(jīng)消失,于是斷開連接。所以我們這之后的再次調(diào)用,就會(huì)得到 0x80010108 COM 錯(cuò)誤。

更多信息

Question:

我的 Server 如何判斷 Client 是否在運(yùn)行中?

Background:

DCOM 設(shè)計(jì)時(shí)就預(yù)先要考慮能處理任何形式的 Server Client 或者 Network 崩潰的組合。所以 DCOM 決定在 Client Server 之間保持一個(gè)背景“ ping ”。如果 Client 的連接丟失, NT 將在 6 分鐘之內(nèi)檢測(cè)到。這時(shí),服務(wù)器故意模擬 Client 的正常斷開情形,將 Client Server 請(qǐng)求的所有接口的引用計(jì)數(shù)統(tǒng)統(tǒng)釋放。

Resolution:

正因?yàn)槿绱耍帉? Server 的程序員不必要太過(guò)于擔(dān)心 Client 的意外崩潰。 NT 將會(huì)從根本上保證 Client 正常斷開并釋放所有引用的接口。

?

6分鐘是如何計(jì)算出來(lái)的呢?

當(dāng)一個(gè) Connection 被請(qǐng)求建立之后, DCOM 將在三次不成功的 ping 之后,認(rèn)定本次連接超時(shí)。由于這些 ping 每隔 2 分鐘發(fā)送一次,所以 6 分鐘就是這么計(jì)算出來(lái)的。

總結(jié):

u ????? Pinging 是一種檢測(cè)客戶端是否異常終止的著名手段

u ????? 一般在服務(wù)器端的設(shè)計(jì)中,每一個(gè)輸出的對(duì)象都有一個(gè) pingPeriodTime 參數(shù),和一個(gè) numPingsToTimeout 參數(shù)

u ????? 如果 pingPeriod 時(shí)間過(guò)去,而并未接收到來(lái)自于 Client ping ,所有對(duì)接口的遠(yuǎn)程引用計(jì)數(shù),將被認(rèn)為失效,從而可以被垃圾回收器收回。

前面說(shuō)的0x80010108問(wèn)題解決辦法就是每隔半分鐘就給服務(wù)器發(fā)送一個(gè)無(wú)害的消息,保證connection不被斷掉。

?

本文檔所包含的信息代表了在發(fā)布之日, ZhengYun 對(duì)所討論問(wèn)題的當(dāng)前看法, Zhengyun 不保證所給信息在發(fā)布之日以后的準(zhǔn)確性。

本文檔僅供參考。對(duì)本文檔中的信息, Zhengyun 不做任何明示或默示的保證。

Written by zhengyun@tomosoft.com



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=12707


DCOM的心跳


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 超碰在线影院 | 国内色综合精品视频在线 | 乱淫毛片| 日本三级一区二区三区 | 色五月丁香五月综合五月 | 看免费5xxaaa毛片 | 日韩免费在线视频 | 四虎影 | 天天天天做夜夜夜夜 | 欧美黑人性暴力猛交免费看 | 久久亚洲国产高清 | seku.tv| 久久久久久国产精品mv | 九九资源站| 国产在线观看91一区二区三区 | 综合色播 | 亚洲成人精品久久 | asian极品呦女爱爱 | 三级黄色片在线免费观看 | 国产a久久精品一区二区三区 | 久久人精品 | 久久机热 | yy4138理论片在线大全 | 国产毛片久久精品 | 日本免费观看网站 | 91福利免费观看 | 日韩中文字幕 | 日本午夜视频 | 天天夜夜骑 | 国产99久久精品一区二区 | 欧美日韩亚洲视频 | 午夜大片 | 精品一区二区三区在线观看视频 | 国产人妻人伦精品潘金莲 | 国产美女主播在线观看 | 在线视频综合视频免费观看 | 色噜噜狠狠狠狠色综合久不 | 四虎影在线永久免费四虎地址8848aa | 欧美视频国产 | 免费午夜理论不卡 | 久久99精品久久久久久国产越南 |