2025 年 4 月 20 日 - SuperSocket 团队自豪地宣布正式发布 SuperSocket 2.0,这是这款适用于 .NET 的高性能、可扩展套接字服务器应用程序框架的一个重要里程碑。在初始预览版发布并经过数年的开发后,SuperSocket 2.0 标志着对框架的彻底重新构想,它是专为现代 .NET 应用程序从头开始构建的。

十年的进化
自2008年成立以来,SuperSocket 已经历了长足的发展。该项目最初旨在解决现有套接字服务器实现的局限性,现已逐步成长为一个功能强大且丰富的框架,赢得了全球开发者的信赖。在2.0版本中,SuperSocket不仅延续了其卓越的传统,还积极融入了现代的开发实践和技术。
SuperSocket 2.0 的主要改进
- 现代 .NET 基础:SuperSocket 2.0 完全基于现代 .NET 重新构建,充分利用了平台的性能改进、跨平台功能和现代语言功能。
- 高性能管道架构:SuperSocket 2.0 利用 System.IO.Pipelines 实现了零拷贝数据处理,从而在处理网络数据时显著提升了吞吐量并降低了内存消耗。
- 云原生支持:SuperSocket 2.0 在设计之初便充分考虑了容器化的需求,能够在 Docker 和 Kubernetes 环境中无缝运行,因此成为云原生应用程序的理想之选。
- 中间件:新架构让可扩展性更好,核心代码简化了,开发人员能自定义处理请求。
- 增强协议灵活性,新管道过滤器支持TCP、UDP、WebSocket等,让协议实施更直观。
- SuperSocket 2.0 用了.NET配置,给服务器实例配置带来了更多灵活选择。
- 高级日志记录:和.NET一起,给生产应用提供了更好的观察、诊断力。
- 模块化设计:新包结构让开发人员只加他们想要的组件,更精细了。
包结构
SuperSocket 2.0 被组织成一组专门的 NuGet 包:
- SuperSocket.ProtoBase:核心协议定义和处理组件
- SuperSocket.Primitives:基础类型和实用程序
- SuperSocket.Connection:连接管理抽象和实现
- SuperSocket.Server:服务器实现和基础设施
- SuperSocket.Command:基于命令的处理模型
- SuperSocket.WebSocket:WebSocket 协议实现
- SuperSocket.Client:用于连接套接字服务器的客户端组件
- SuperSocket.Udp:UDP 协议支持
- 以及针对特定场景的更专业软件包
展望未来
首先让我们来回顾一下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
-
2019-5: SuperSocket 2.0 Preview1 发布, 该版本是2.0版本的第一个预览版。
-
2025-4:SuperSocket 2.0 正式发布。SuperSocket 2.0 现已在 NuGet 上提供。请访问官方文档以了解更多信息并开始使用您的套接字服务器应用程序。
SuperSocket 的创建者 江振宇说: "借助 SuperSocket 2.0,我们从头开始重新构建了框架,以提供现代 .NET 应用程序所需的性能、灵活性和开发人员体验,我们很高兴看到我们的社区利用这些新功能构建了什么"。SuperSocket 团队致力于根据社区反馈和新兴技术不断改进框架。2025 年剩余时间的路线图包括扩展的文档、性能优化和解决社区的功能请求。