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


什么是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內置了常用的一些協議,如下:

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM