SuperSocket 2.0 的发布标志着.NET Socket 服务器框架迈入了一个全新的时代
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 服务器框架迈入了一个全新的时代的更多相关文章
- [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- 可扩展多线程异步Socket服务器框架EMTASS 2.0 (转自:http://blog.csdn.net/hulihui)
可扩展多线程异步Socket服务器框架EMTASS 2.0 (转自:http://blog.csdn.net/hulihui) 0 前言 >>[前言].[第1节].[第2节].[第3节]. ...
- 可扩展多线程异步Socket服务器框架EMTASS 2.0 续
转载自Csdn:http://blog.csdn.net/hulihui/article/details/3158613 (原创文章,转载请注明来源:http://blog.csdn.net/huli ...
- 可扩展多线程异步Socket服务器框架EMTASS 2.0
0 前言 >>[前言].[第1节].[第2节].[第3节].[第4节].[第5节].[第6节] 在程序设计与实际应用中,Socket数据包接收服务器够得上一个经典问题了:需要计算机与网络编 ...
- SuperSocket 2.0 发布第一个预览版, 另寻找Yang Fan哥哥
昨天,SuperSocket的作者发布了2.0版本的第一个预览版.SuperSocket 2.0 是一个经过全新设计的,第一个完全基于.NET Core的版本.作者正在积极尝试提供更简单易用的API的 ...
- springboot2.0(一):【重磅】Spring Boot 2.0权威发布
就在昨天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误, ...
- 【重磅】Spring Boot 2.0权威发布
新版本特性 新版本值得关注的亮点有哪些: 基于 Java 8,支持 Java 9 也就是说Spring Boot2.0的最低版本要求为JDK8,据了解国内大部分的互联网公司系统都还跑在JDK1.6/7 ...
- (转)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正式发布 ...
- Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布
就在今天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误, ...
随机推荐
- 1Panel 专业版评测:全面超越宝塔的运维面板新标杆
一. UX体验与移动端适配:更直观的跨平台交互 1Panel 专业版在用户体验上实现了对宝塔的全面超越.其界面采用现代化设计语言,以黑金主题为代表的可定制化主题系统支持一键切换,视觉风格更符合技术审美 ...
- 机器学习 | 强化学习(5) | 价值函数拟合(Value Function Approximation)
价值函数拟合(Value Function Approximation) 导论(Introduction) 目前的价值函数都是基于打表法(lookup table)进行穷举 对于所有状态\(s\)都有 ...
- ABC393C题解
大概评级:橙. 送分题. 题意就是让你统计有多少条边是重边或自环. 设 \(u_i\) 表示第 \(i\) 条边的左端点,\(v_i\) 表示第 \(i\) 条边的右端点. 那么如果 \(u_i = ...
- ESP AT指令使用记录
一.前言 本篇文章主要用于记录自己在使用AT指令时候的流程,记录一些资料与程序等.如果能帮到你,请给我点个赞. 二.背景知识 ESP-AT是什么? ESP-AT 是乐鑫开发的可直接用于量产的物联网应用 ...
- job提交后,inp文件的处理过程
用户提交job后,abaqus的inp文件处理过程 1. 对inp文件预处理 打开任务管理器可以看到pre.exe的进程 预处理中的error .warning 都会在.DAT文件中 dat文件出现e ...
- C/C++显示类型转换的位拓展方式
最近用verilator写模块的tb,在这里卡了好久(测半天都是C++写的问题) 要点 变量从小位宽到大位宽显示类型转换(explicit cast)时的位拓展方式,取决于转换前变量的符号性. 倘若转 ...
- iterm2配置ssh自动登录
iterm2 ssh 演示 cmd + o 打开服务器列表,方向键选择要登录的机器,回车,提示输入密码: option + cmd + f 打开密码管理器,方向键选择密码,回车,即可登录:(这一步通过 ...
- wps时间戳转换成日期
第一步 打开WPS表格,选择空表格 第二步 右击选择"设置单元格格式" 第三步 选择"日期",然后选择需要的日期类型 第四步 然后在表格里,输入公式 =(D2/ ...
- Delphi 数据库连接查询分析器
为了方便自己查询数据库信息,花了小时间写了小工具,添加SQL语法高亮显示功能
- pagehelper的失效问题
pagehelper是常用的分页插件,代码中常用到,使用简便且对代码侵入性较小,很多人都喜欢使用.不过有时会遇到分页失败问题,输出结果没有分页,日志输出sql语句没有分页关键字及分页参数,目测是pag ...