理解NetworkSock之FastTcpSreverEx

來源:互聯網
上載者:User

前言

本小節是NetworkSocket系列的第10小節,在閱讀本小節之前,您可能需要先閱讀前面的使用FastTcpServerEx構建伺服器,否則覺得本文內容跳轉比較大。

描述

FastTcpServerEx是從TcpServerEx派生,使用的協議和TcpServerEx完成相同,FastTcpServerEx充分結合C#強大的反射功能,大大地簡化了伺服器編程難度,從使用FastTcpServerEx構建伺服器看出中,只要定義服務介面,實現介面,就完成了伺服器,這是因為利用了反射。下面是使用FastTcpServerEx構建伺服器小節中中的DemoServer類圖,IDemoServer裡的所有方法,是需要反射動態調用的方法,因為這些方法會被頻繁地調用,所以我們需要把它們緩衝到列表中,用到的時候取出就可以,在緩衝到列表之前,我們把方法轉換為MethodinfoEx對象,因為MethodinfoEx的Invoke方法是最佳化過的,後面我們需要調用它的Invoke方法。

運行原理

當前上面的第1、3、4、5步,都是由FastTcpServerEx內部來完成,DemoServer需要做的,僅僅是把Login方法給實現了,就也是業務部分的內容。用戶端請求Login之後,DemoServer會收到DataEventExArg參數,我們把DataEventExArg的Action屬性與緩衝的方法關聯起來,就可以從緩衝中方便找出對應Login對應的MethodinfoEx對象,在調用MethodinfoEx對象,Invoke的資料參數是從DataEventExArg的Binary中轉換而得。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.