日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SuperSocket源码解析之开篇 (转)

發布時間:2024/8/26 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SuperSocket源码解析之开篇 (转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 簡介

  官方介紹:SuperSocket 是一個輕量級, 跨平臺而且可擴展的 .Net/Mono Socket 服務器程序框架。你無須了解如何使用 Socket, 如何維護 Socket 連接和 Socket 如何工作,但是你卻可以使用 SuperSocket 很容易的開發出一款 Socket 服務器端軟件,例如游戲服務器,GPS 服務器, 工業控制服務和數據采集服務器等等。

  地址:http://www.supersocket.net/

? ? ?目前所閱讀的版本是:1.6.4.0

  本筆記的基本思路為:Supersocket是什么,主要功能,組成結構,啟動過程,工作機制,如何高性能,如何高并發,以及如何可擴展等方面進行

二 ?基礎知識

1 Net4.0以上編程基礎,熟悉lamada表達式,Tpl多核并行異步編程,泛型編程(非常重要),多線程(線程池),反射,特性等基礎知識;

2 熟悉常見的設計模式,工廠模式,命令模式,代理模式,其中工廠模式在SuperSocket配置系統中大量使用,也是具有高擴展性重要基礎之一;

3 Tcp/ip基本概念,通信過程;

4 IOCP(完成端口)相關概念;

5 Log4Net日志組件;

6 常見的服務器會話機制;

?

三 主要功能

? 如官方介紹所言,可以作為輕量級的服務器程序框架,其核心在于進程之間通過Socket進行通信達到數據交換的目的,當然也可以作為一款三方通信組件,其主要作用在于建立服務端與客戶端或者其他端點的通信,管理,維護,并提供常見的通信協議,解析等,也可以自定義協議和協議處理相關接口,所以說SuperSocket在首先滿足通信前提下同時提供常見的協議處理,也提供直接作為應用程序的服務器應用程序框架。

?

四 ?組成結構

援引官方的對象模型示意圖可以知道,SuperSocket主要分為SocketServer,AppServer以及與之對應的SocketSession、AppSession組成

1 其中SocketServer是SocketSession的容器,負責SocketSession的管理(創建,初始化,啟動,關閉等);

?

2 SocketSession則是一個最小的通信單元也就是客戶端與服務端一個Socket一條通信信道封裝,負責消息發送,接收;

?

3 AppServer則是服務器的一個工作單元,一個服務器可以有多個AppServer共同組成,實現對不同端口進行Tcp或者Udp鏈接監聽,并作為AppSession的容器和管理者,負責AppSession創建,初始化,啟動,關閉等管理,向外界提供配置接口,日志接口,命令接口,連接過濾接口,接收過濾接口等等;

?

4 相應的AppSession則是工作在SocketSession上層的服務器會話單元,其主要職能在于負責將接收到的數據進行過濾,解析,以及路由到命令并執行,如上圖所示

?

五 工作機制

  

?

  個人覺得上圖從左至右第一個Session應細化成SocketSession更合適。

其工作機制也就是服務器何時開始工作,怎樣工作,怎樣處理接收和發送消息,這里可以參考官方給出的請求處理模型示意圖,其具體步驟如下所述

1 SocketSession會話階段

 服務器啟動監聽器,進入監聽狀態等待客戶端連接,當接收到一個客戶端請求,驗證并創建一個SocketSession會話;

2 AppSession會話階段

? 當接收到客戶端一個Socket請求,封裝成一個SocketSession時該會話已具備收發消息的能力,但是要處理數據還得有AppSession來處理,所以由AppServer根據SocketSeeion創建AppSession,并讓該會話啟動開始工作

3 消息處理階段

 當SocketSession接收到一個消息時,將交由AppSession進行處理,首先進行原始數據完整性和過濾特性進行處理,主要過濾掉一些不合法的消息或者被特性標記的,并將消息交由IReciveFilter進行協議解析封裝成RequestInfo一類的結構,再路由給具體的命令執行單元進行具體處理執行

?

以上三步驟將客戶端發送一條消息或者說一個數據包,在經歷接收,檢查,解析,命令處理過程,這些步驟經由SocketSession和AppSession工作在一個由AppServer負責啟動的一個線程單元中,也就是說每一個 會話都將是一個線程在負責,而這些線程是交由ThreadPool負責管理,所以通篇都看不到一個顯式的Thread創建并啟動代碼

?六 層次劃分

?

七 ?示例

在官方源碼QuickStart文件夾中給出了一些列完整示例,可以直接啟動并接收簡單消息的處理,這些示例可以參考到文檔中結合起來理解和使用

?

?

連接地址 :http://www.cnblogs.com/rjjs/p/5617916.html

轉載于:https://www.cnblogs.com/big-zhou/p/6202543.html

總結

以上是生活随笔為你收集整理的SuperSocket源码解析之开篇 (转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日鲁鲁鲁夜夜爽爽狠狠视频97 | xxxⅹ少妇少妇xxxx | 久久久久国产精品一区 | 草草视频网站 | 91在线视频播放 | 荫道bbwbbb高潮潮喷 | 国产伦精品一区二区三区免费视频 | 欧美破处大片 | 99久热在线精品996热是什么 | 一级黄在线观看 | 免费福利在线视频 | 欧美一区二区在线看 | 最新中文字幕在线观看 | 亚洲精品无码久久久 | 午夜性剧场 | 九色porny自拍视频在线播放 | 国产精品免费电影 | 香港三级韩国三级日本三级 | 黄网在线观看免费 | 精品国产一区二区三区四区阿崩 | 色av网| 91免费版黄| 国产999久久久 | 中文字幕在线观看日韩 | 美攻壮受大胸奶汁(高h) | av操操操| 激情视频一区二区 | 亚洲综合在线播放 | 免费操片 | 热久久中文字幕 | 蜜桃av久久久亚洲精品 | julia一区二区| 中国大陆一级毛片 | 亚洲日本韩国在线 | 福利视频一区二区 | 亚洲欧美综合精品久久成人 | 婷婷综合在线视频 | 亚洲视频在线观看一区二区三区 | av青青 | 亚洲视频一区二区在线观看 | 亚洲成人aa | 激情 亚洲| 成人免费看片网站 | 欧美 日韩 国产 中文 | 天堂网中文在线 | 中国三级视频 | 波多野在线 | 午夜免费福利在线 | 久久桃色 | 男生和女生一起差差差视频 | 亚洲专区中文字幕 | 色婷婷av一区二区 | 久久久久久久国产精品视频 | 先锋资源一区 | 另类视频在线观看 | 极品少妇网站 | 成年人黄国产 | 日韩在线精品强乱中文字幕 | 国产又黄又猛的视频 | 老司机成人免费视频 | 日日夜夜精品视频 | 欧美久久久影院 | 在线免费黄色网 | 日韩精品人妻一区二区三区免费 | 日韩欧美成人网 | 欧美日韩色图片 | 催眠调教艳妇成肉便小说 | 精品国产精品国产偷麻豆 | 少妇一级淫片免费播放 | 精品少妇一区二区三区密爱 | 日本天堂在线 | 国产福利视频在线观看 | 免费av片| 国产精品一区二区三区免费视频 | 青青在线视频 | 久久韩国 | 一区二区三区四区在线视频 | 91成人看 | 中文有码一区 | 国内精品视频一区二区三区 | 黄网在线播放 | 星铁乱淫h侵犯h文 | 青青草自拍偷拍 | 黄色片网站在线看 | 日本欧美色 | 探花视频在线版播放免费观看 | 好男人网站 | 色哟哟一区二区三区 | 毛片毛片毛片毛片 | 91爱看| 蜜桃视频在线入口www | 欧美cccc极品丰满hd | 超碰在线免费观看97 | 污漫在线观看 | 富二代成人短视频 | 丁香婷婷成人 | 久热免费在线视频 | jvid乐乐 | 国产美女无遮挡免费 |