黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

ESFramework介紹之(34)―― ITcpServerAgent

系統(tǒng) 2079 0
(本文適用于ESFramework V0.3+)

ESFramework介紹之(7)-- 服務(wù)器代理IServerAgent(2006.06.06修正) 的介紹中,我們已經(jīng)認識了IServerAgent的職責(zé)與作用,并且知道了 ITcpServerAgent和IUdpServerAgent是分別使用于Tcp和Udp的ServerAgent。但是它們與其它組件(比如通信組件、消息處理器、處理器工廠)之間的聯(lián)系是怎樣的,前文講的還不清楚,所以這里增加一篇文章,把這個關(guān)系理順。下面分別是ITcpServerAgent和IUdpServerAgent的組件關(guān)系圖:
ESFramework介紹之(34)―― ITcpServerAgent和IUdpServerAgent組件關(guān)系圖
ESFramework介紹之(34)―― ITcpServerAgent和IUdpServerAgent組件關(guān)系圖

上面兩個圖非常清晰的描述了組件間的依賴關(guān)系和消息的流向。
注意,上面的ITcpServerAgent和IUdpServerAgent兩個組件關(guān)系圖中右邊的部分是完全相同的,它們都是由IServerAgentHelper幫助構(gòu)建。紅線代表將消息發(fā)送出去,黑線代表對接收的消息的處理流程。可以看到ITcpServerAgent和IUdpServerAgent都是從IResponseManager提取回復(fù)消息,以此才可能將異步的消息請求/回復(fù)轉(zhuǎn)化為同步的“方法調(diào)用”。
關(guān)于IUdpServerAgent,還有一個地方需要注意,我們在客戶端和服務(wù)端都使用相同的Udp網(wǎng)絡(luò)組件--IEsbUdp(可復(fù)用性是ESFramework發(fā)展過程中一直堅守的目標(biāo)),只不過服務(wù)端為IEsbUdp裝配的消息分派器IMessageDispatcher復(fù)雜些。

在這兩個組件關(guān)系圖中,除了ISingleMessageDealer需要我們自己實現(xiàn)以外,其它的所有組件,ESFramework都提供了參考實現(xiàn),可以直接使用。

最后,引出一個問題,那就是當(dāng)客戶端使用了點對點的通信時,如果客戶A和客戶B之間能直接通信,那么A和B之間的P2PMessage就不需要經(jīng)過服務(wù)器轉(zhuǎn)發(fā),即不需要提交給IServerAgent,而是交給IP2PChannel發(fā)送;如果客戶A和客戶B之間不能直接通信,那么A和B之間的P2PMessage就需要經(jīng)過服務(wù)器轉(zhuǎn)發(fā)。為了對上層應(yīng)用屏蔽P2PMessage是通過服務(wù)器轉(zhuǎn)發(fā)器的還是通過IP2PChannel直接發(fā)送的,ESFramework引入了IMessageTransceiver,它的智能在于,如果P2PMessage可以通過IP2PChannel直接發(fā)送,則將其交給IP2PChannel,否則將其提交給IServerAgent由服務(wù)器轉(zhuǎn)發(fā)。這樣應(yīng)用只需要直接使用IMessageTransceiver提交(發(fā)送)消息就可以了,而不用關(guān)心下層的消息路由途徑。關(guān)于IMessageTransceiver和IP2PChannel的更多信息將在下文中介紹。

感謝關(guān)注!


上篇文章: ESFramework介紹之(33)―― AS與FS通信實現(xiàn)及相關(guān)

轉(zhuǎn)到: ESFramework 可復(fù)用的應(yīng)用框架(序)

ESFramework介紹之(34)―― ITcpServerAgent和IUdpServerAgent組件關(guān)系圖


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論