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. 注解@Resource与@Autowired的区别

    @Resource @Resource有两个常用属性name.type,所以分4种情况 指定name和type:通过name找到唯一的bean,找不到抛出异常:如果type和字段类型不一致,也会抛出异 ...

  2. Vulnhub-Troll-1靶机-ftp匿名登录+流量包分析+hydra爆破+ssh登录脚本提权

    一.靶机搭建 选择扫描虚拟机 选择路径即可 二.信息收集 扫ip 靶机ip:192.168.108.144 扫开放端口 开放了ftp服务 扫版本服务信息 信息如下 21/tcp open ftp vs ...

  3. python基础-函数(lambda表达式、函数作参数、内置函数、推导式)和pip

    函数进阶 今日概要: 函数名就是一个变量(扩展) 匿名函数(lambda表达式) 重点内置函数--python内置函数 推导式(一行代码生成数据) 1. 函数名就是变量 def func(): pas ...

  4. 分布式锁—4.Redisson的联锁和红锁

    大纲 1.Redisson联锁MultiLock概述 2.Redisson联锁MultiLock的加锁与释放锁 3.Redisson红锁RedLock的算法原理 4.Redisson红锁RedLock ...

  5. C#之 Dictionary 详解

    基本概念 Dictionary<TKey, TValue>是C#中用于存储键值对集合的泛型类,属于System.Collections.Generic命名空间.它允许使用键(Key)来访问 ...

  6. 基于Microsoft.Extensions.AI核心库实现RAG应用

    大家好,我是Edison. 之前我们了解 Microsoft.Extensions.AI 和 Microsoft.Extensions.VectorData 两个重要的AI应用核心库.基于对他们的了解 ...

  7. GUI图形界面编程(Java)

    GUI编程 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 1.简介 Gui的核心技术:Swing.AWT 2.AWT 2.1.AWT介绍 1.包含了很多类和接 ...

  8. 常用损失函数 LossFunction

    文章结构 损失函数在神经网络中的位置 常用的损失函数(结构:解释,公式,缺点,适用于,pytorch 函数) MAE/L1 Loss MSE/L2 Loss Huber Loss 对信息量.熵的解释 ...

  9. 数据库自增 ID 用完了会怎么样?

    前言 数据库中的自增 ID 用完了该怎么办? 这个问题可以分为有主键 & 无主键两种情况回答. 有主键 如果你的表有主键,并且把主键设置为自增. 在 MySQL 中,一般会把主键设置成 int ...

  10. 安装ip冲突