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的時候先進行篩選。socket

在羣裏,不少小夥伴們經驗問收不到數據,這是爲何呢?首先理解什麼是通訊協議,簡單來說,就是把收到2進制數據轉換成規則,如上圖所示,客戶端發送一條2進制代碼的時候,通過ReceiveFilter的過濾,解析符合規則的2進制內容,並轉換成所對應的對象,而後執行處理。工具

★SS內置了經常使用的一些協議,以下:性能

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

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

SuperSocket用戶QQ羣:373076764(500人,入羣需回答正確的答案,不然一概拒絕)

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

相關文章
相關標籤/搜索