SuperSocket源碼淺析

SuperSocket是一款優(yōu)秀的SOCKET框架,功能強(qiáng)大,以下是我的學(xué)習(xí)筆記。

一、官網(wǎng)

主頁(yè): http://www.supersocket.net
官網(wǎng)文檔: http://docs.supersocket.net

二、源碼淺析

Socket通訊不管怎么封裝,其核心必然是Listen、Accept、Receive、Send等關(guān)鍵, 因此從最底層開(kāi)始往上抽絲剝繭,解讀SuperSocket的邏輯。
項(xiàng)目SuperSocket.SocketEngine.Net45 實(shí)現(xiàn)對(duì)Socket鏈接、收發(fā)數(shù)據(jù)的封裝。
項(xiàng)目SuperSocket.SocketBase.Net45實(shí)現(xiàn)對(duì)AppServer AppSession等業(yè)務(wù)邏輯的抽象封裝。
整個(gè)SuperSocket是基于.net SocketAsyncEventArgs實(shí)現(xiàn)的,相關(guān)介紹請(qǐng)參考:http://www.cnblogs.com/smark/p/3573107.html
http://blog.csdn.net/zhangjunjian127/article/details/7067797

因排版原因,詳情請(qǐng)見(jiàn)我的有道筆記:
http://note.youdao.com/noteshare?id=eec22facef3d915b5efb258a715ad882

三、小結(jié)

通過(guò)上述代碼解讀后,對(duì)SuperSocket的結(jié)構(gòu)有了一個(gè)清晰的概念,對(duì)照官網(wǎng)這張結(jié)構(gòu)圖,會(huì)更直觀:


示意圖

但是從代碼中可以看出來(lái),在Command執(zhí)行期間,如果存在大運(yùn)算或CPU密集型計(jì)算,仍然有可能造成阻塞,因?yàn)橹噶顖?zhí)行這一部分并沒(méi)有用到線(xiàn)程池,所以在處理業(yè)務(wù)邏輯時(shí)要著重注意!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容