麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

SuperSocket快速入門(一):什么是SuperSocket

2019-11-14 15:55:13
字體:
來源:轉載
供稿:網友

什么是SuperSocket

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

功能特點

  • 高性能的事件驅動通信;
  • 非常簡單易用; 你只需要通過創建幾個類就能獲得一個健壯的 Socket 服務器;
  • 內置的命令行協議讓你能夠迅速創建一個網絡命令行接口服務器;
  • 強大且高性能的協議解析實現工具幫你簡化了網絡數據的分析工作;
  • 靈活的配置功能和友好的配置 API;
  • 多監聽器支持; 讓你在一個服務器實例內監聽多個端口;
  • 多服務器實例托管的支持讓你從容面對復雜的部署需求;
  • 應用程序域和進程級別的隔離能夠滿足你大部分的宿主場景;
  • 內置的 SSL/TLS 加密支持;
  • 會話級別的發送隊列能夠讓你通過會話并發的發送數據,并保持高性能和可控性;
  • SuperSocket 的命令處理模式讓你的業務邏輯更清晰,更有條理;
  • 優良的可擴展 API 支持: Command Filter, Connection Filter, Command Loader;
  • 可替換的日志架構允許你使用你喜歡的日志組件;
  • 動態語言的支持; 允許你用 Python 之類的腳本語言來實現命令;
  • 與 Mono/linux 保持二進制級別的兼容;
  • Windows Azure 的支持;
  • 內置你可以直接用于 Flash 或 Silverlight 客戶端的 Socket 策略服務器;

本人前言

  SS基于.NET IOCP的AsyncSocketEventArgs進行開發設計,很多朋友在群里問SS性能怎樣,我覺得這個問題還是需要根據您自己的程序來看,如果單從例子來看,網上有很多AsyncSocketEventArgs的性能,也有例子,大可測試。嘿嘿。

  如果需要深入了解SS并凌駕于SS進行開發以及關注本人后續文章的相關內容,需要對SOCKET、泛型、Lambda表達式以及事件驅動有一定的了解,這些知識將不會另行講解。

  初次接觸SS的小伙伴,SS是輕量級的、基于事件驅動級的框架,使用前請先看看官方網站上的文檔,如果您覺得看文檔是浪費時間的話,那您還是直接使用原生Socket,AsyncSocketEventArgs或者TcpListener之類的,簡單、便捷。

  很多小伙伴想使用自己的協議,那就更應該仔細認真的看看文檔了(使用 IRequestInfo 和 IReceiveFilter 等等其他對象來實現自定義協議),如果想追求快,而又搞不懂如果實現自定義,個人真不建議你使用SS了,同上。

SuperSocket 請求處理模型示意圖

  這部分已經概括了SS的流程,只是少了一部ConnectionFilter,應該在Client->SocketListener的時候,如果實現了連接過濾器會在客戶端connect的時候先進行篩選。

在群里,很多小伙伴們經驗問收不到數據,這是為什么呢?首先理解什么是通信協議,簡單來講,就是把收到2進制數據轉換成規則,如上圖所示,客戶端發送一條2進制代碼的時候,經過ReceiveFilter的過濾,解析符合規則的2進制內容,并轉換成所對應的對象,然后執行處理。

★SS內置了常用的一些協議,如下:

  • 命令行協議:也是AppServer的默認協議,每條協議都以換行/r/n結束,格式:Command Arg1 Arg2 ArgN/r/n,注意:很多小伙伴都忘記了后面的/r/n。還有很多小伙伴中文會出現亂碼,出現亂碼是因為默認配置的textEncoding為ASCII,改成UTF-8或GBK即可。
  • 結束符協議(TerminatorReceiveFilter):與命令行協議類似,一些協議用結束符來確定一個請求,格式:AnyData....##,以##結尾的數據。
  • 固定數量分隔符協議(CountSpliterReceiveFilter):有些協議定義了像這樣格式的請求,格式:#part1#part2#part3#part4#part5#part6#part7#。 每個請求有7個由#分隔的部分。
  • 固定請求大小的協議(FixedSizeReceiveFilter):在這種協議之中, 所有請求的大小都是相同的。如果你的每個請求都是有9個字符組成的字符串,如KILL BILL
  • 帶起止符的協議(BeginEndMarkReceiveFilter):在這類協議的每個請求之中 都有固定的開始和結束標記,格式:!xxxxxxxxxxxxxx$,'!'是開始標記,'$'是結束標記。
  • 頭部格式固定并且包含內容長度的協議(FixedHeaderReceiveFilter):這種協議將一個請求定義為兩大部分,如第一部分定義了請求名稱,第二部包含后面內容的長度以及第三部分的具體內容。如:|name(4)|len(2)|content|,4字節的名稱、2字節的內容長度,具體的內容。

官方網站:http://www.supersocket.net

官方文檔地址:http://docs.supersocket.net

SuperSocket用戶QQ群:373076764(500人,入群需回答正確的答案,否則一律拒絕)

======================================================================================================


上一篇:Redis常用命令

下一篇:sql刪除多項

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人精品不卡视频在线观看 | 最新中文在线视频 | 国产精品久久久久久238 | 精品一区二区久久久久久久网精 | 午夜精品视频免费观看 | 天天夜天天操 | 免费黄色小网站 | 久久人人爽人人爽人人片av高清 | 黄色免费大片 | 欧美雌雄另类xxxxx | 久久超 | 特一级黄色毛片 | 草人人| 国产色片在线观看 | 91色爱 | 人禽l交免费视频观看 视频 | 久久久久免费精品 | 艹男人的日日夜夜 | 国内精品国产三级国产a久久 | 黄视频网站免费观看 | 欧美黑大粗硬毛片视频 | 天天干天天透 | 免费国产人成网站 | 92看片淫黄大片一级 | 依依成人精品视频 | 看免费黄色大片 | 小情侣嗯啊哦视频www | 国产亚洲欧美一区久久久在 | 末成年女av片一区二区 | 一级黄片毛片免费看 | 久久影院一区二区三区 | asian裸体佳人pics | 99影视电影电视剧在线播放 | 国内精品免费一区二区2001 | 久久艹逼 | 午夜精品福利在线观看 | 一区二区久久电影 | 久久久久久久爱 | 久久爽久久爽久久av东京爽 | 欧美精品毛片 | 综合精品一区 |