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 年剩余时间的路线图包括扩展的文档、性能优化和解决社区的功能请求。

SuperSocket 2.0 的发布标志着.NET Socket 服务器框架迈入了一个全新的时代的更多相关文章

  1. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  2. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  3. 可扩展多线程异步Socket服务器框架EMTASS 2.0 (转自:http://blog.csdn.net/hulihui)

    可扩展多线程异步Socket服务器框架EMTASS 2.0 (转自:http://blog.csdn.net/hulihui) 0 前言 >>[前言].[第1节].[第2节].[第3节]. ...

  4. 可扩展多线程异步Socket服务器框架EMTASS 2.0 续

    转载自Csdn:http://blog.csdn.net/hulihui/article/details/3158613 (原创文章,转载请注明来源:http://blog.csdn.net/huli ...

  5. 可扩展多线程异步Socket服务器框架EMTASS 2.0

    0 前言 >>[前言].[第1节].[第2节].[第3节].[第4节].[第5节].[第6节] 在程序设计与实际应用中,Socket数据包接收服务器够得上一个经典问题了:需要计算机与网络编 ...

  6. SuperSocket 2.0 发布第一个预览版, 另寻找Yang Fan哥哥

    昨天,SuperSocket的作者发布了2.0版本的第一个预览版.SuperSocket 2.0 是一个经过全新设计的,第一个完全基于.NET Core的版本.作者正在积极尝试提供更简单易用的API的 ...

  7. springboot2.0(一):【重磅】Spring Boot 2.0权威发布

    就在昨天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误, ...

  8. 【重磅】Spring Boot 2.0权威发布

    新版本特性 新版本值得关注的亮点有哪些: 基于 Java 8,支持 Java 9 也就是说Spring Boot2.0的最低版本要求为JDK8,据了解国内大部分的互联网公司系统都还跑在JDK1.6/7 ...

  9. (转)Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布

    http://www.ityouknow.com/springboot/2018/03/01/spring-boot-2.0.html 就在今天Spring Boot2.0.0.RELEASE正式发布 ...

  10. Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布

    就在今天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误, ...

随机推荐

  1. 百万架构师第四十六课:并发编程的原理(一)|JavaGuide

    百万架构师系列文章阅读体验感更佳 原文链接:https://javaguide.net 并发编程的原理 课程目标 JMM 内存模型 JMM 如何解决原子性.可见性.有序性的问题 Synchronize ...

  2. Java 线程安全的集合

    Vector ArrayList 的线程安全版本,对所有的修改方法都进行了 synchronized 同步处理.适用于多线程环境下对数据一致性要求高,且读写操作相对比较均衡,不需要很高并发性能的场景. ...

  3. JMeter 自定义的respCode不是0就报异常

    在实际使用中,后台其实已经对异常的进行了处理,response body 返回来的,都是正常的请求响应: 这个时候,则需要通过 respCode 进行判断该请求是否是有效响应. 如响应报文如下: { ...

  4. 解决macOS无法验证“xxx”的开发者。你确定要打开它吗?

    前言 当 macOS 无法验证开发者时,有两种方式解决,可以通过以下步骤来打开 xxx 系统偏好设置: 打开"系统偏好设置". 选择"安全性与隐私". 在&qu ...

  5. mongodb查询某个字段数据

    如下 db.集合名.find( {}, {需要查询的字段:1, _id:0} ) 例如 db.userInfo.find({}, {'created_at':1, _id: 0}) 默认会显示 _id ...

  6. Django实战项目-学习任务系统-发送短信通知

    接着上期代码内容,继续完善优化系统功能. 本次增加发送短信通知功能,学习任务系统发布的任务,为了更加及时通知到学生用户,再原有发送邮件通知基础上,再加上手机短信通知功能. 第一步:开通短信通知服务 目 ...

  7. 掌握 K8s Pod 基础应用 (二)

    Pod生命周期 我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程: pod创建过程 运行初始化容器(init container)过程 运行主容器(main co ...

  8. 【VMware VCF】启动和关闭 VMware Cloud Foundation 环境的正确顺序。

    为了避免出现数据丢失以及保证 SDDC 组件的正常运行,启动和关闭 VMware Cloud Foundation 环境中的组件应该遵循特定的顺序.比如,在关闭管理工作负载域之前,应该先关闭 VI 工 ...

  9. 轻松的工作(deepseek)

    组长:"这里有一百多个地震波形文件,把每一个地震建立一个文件夹,并把地震波形放到对应日期的地震中." 我想:一个一个整好麻烦想摸会鱼 让我们来deepseek吧~ 首先,生成文件夹 ...

  10. shader中的if语句优化

    可以借用lerp和step来拼接模仿语句 lerp(a,b,step(value,c))