黄色网页视频 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

系統 2101 0
(本文適用于ESFramework V0.3+)

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

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

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

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

感謝關注!


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

轉到: ESFramework 可復用的應用框架(序)

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論