昨天,SuperSocket的作者發布了2.0版本的第一個預覽版。SuperSocket 2.0 是一個經過全新設計的,第一個完全基於.NET Core的版本。作者正在積極嘗試提供更簡單易用的API的同時,盡量保證與老版本相似的原汁原味的開發體驗。新的版本中亦刪除了一些不太重要並且已有更好的替代實現的功能,例如服務器宿主。
時隔三年之后再次發布新的版本,意義重大。首先讓我們來回顧一下SuperSocket的發展歷程:
- 2008-2009: 起源於對公司Email服務器和FTP服務器開發的現狀不滿。低質量,冗余的代碼和不統一的開發方式讓作者產生了自己寫一套Socket服務器框架的想法;后又開始嘗試寫了一些代碼並形成了SuperSocket的雛形;
- 2010: SuperSocket正式開源並發布於codeplex.com; https://supersocket.codeplex.com
- 2010-10: SuperSocket 1.0 發布,僅支持命令行協議(Telnet);https://www.cnblogs.com/jzywh/archive/2010/10/19/SuperSocket1stable.html
- 2011-01: SuperSocket 1.3 發布,首個支持自定義協議的版本;https://www.cnblogs.com/jzywh/archive/2011/01/17/supersocket13stable.html
- 2011-07: SuperSocket 1.4 發布,新增命令過濾器和連接過濾器, 並通過Mono跨平台;http://www.cnblogs.com/jzywh/archive/2011/07/06/2099097.html
- 2013-01: SuperSocket 1.5 發布,新增動態語言的支持和多服務器實例的隔離;http://www.cnblogs.com/jzywh/archive/2013/01/07/supersocket150.html
- 2013-10: SuperSocket 1.6 發布,新增進程級別隔離,服務器主動連接和客戶端證書驗證;https://www.oschina.net/news/45454/supersocket-1-6-stable
- 2014-2016: 發布SuperSocket 1.6.1 - 1.6.6 以修復一些缺陷並提高穩定性;
- 2016-4: 在Nuget上發布SuperSocket 1.6.6.1,該版本暫時為為SuperSocket公開發布的最新的穩定版;https://www.nuget.org/packages/SuperSocket/1.6.6.1
SuperSocket 2.0 基於 .NET Core (3.0) 重新設計,充分利用System.IO.Pipelines帶來的高效的流式數據處理能力,將會給大家帶來更好的開發運行體驗:
- 更高效(zero copy),更好用的協議解析API;
- 雲原生的支持(Cloud Native),輕松運行於Docker和Kubernetes;
- Middleware的設計簡化核心代碼的同時支持更好的擴展能力;
- 其它由.NET Core帶來的優點,如更靈活的日志抽象和更多樣化的配置支持等等;
SuperSocket 2.0 還在積極開發中,最終版本預計在下半年緊隨着.NET Core 3.0正式版之后發布。
該項目作者鼓勵用戶多多反饋意見。2.0版本最終會包含哪些功能,很大部分可能會取決於用戶的反饋。
SuperSocket 2.0 Preview1 已可在NuGet上獲取:
https://www.nuget.org/packages/SuperSocket/2.0.0-preview1
同時SuperSocket 2.0文檔也在同步准備之中:
http://docs.supersocket.net/v2-0/
另請幫忙尋找一個名叫Yang Fan的哥哥
Fan Yang 在我之前把SuperSocket包給發不出來了,導致我現在只能用大包發布。
如果Fan Yang看到本文,請與我聯系。誰認識這位哥哥,也請轉告與他。
非常感謝各位!