SuperSocket.ProtoBase 2.0.2-beta.1

This is a prerelease version of SuperSocket.ProtoBase.
dotnet add package SuperSocket.ProtoBase --version 2.0.2-beta.1
                    
NuGet\Install-Package SuperSocket.ProtoBase -Version 2.0.2-beta.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SuperSocket.ProtoBase" Version="2.0.2-beta.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SuperSocket.ProtoBase" Version="2.0.2-beta.1" />
                    
Directory.Packages.props
<PackageReference Include="SuperSocket.ProtoBase" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SuperSocket.ProtoBase --version 2.0.2-beta.1
                    
#r "nuget: SuperSocket.ProtoBase, 2.0.2-beta.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=SuperSocket.ProtoBase&version=2.0.2-beta.1&prerelease
                    
Install SuperSocket.ProtoBase as a Cake Addin
#tool nuget:?package=SuperSocket.ProtoBase&version=2.0.2-beta.1&prerelease
                    
Install SuperSocket.ProtoBase as a Cake Tool

Release Note: SuperSocket 2.0.2-beta.1

Overview

SuperSocket 2.0.2-beta.1 is a beta release that enhances the flexibility of pipeline filters by removing the constraint requiring a default constructor. This change significantly improves dependency injection support for pipeline filters across the framework.

Key Improvements

Enhanced Dependency Injection Support for Pipeline Filters

  • Removed the constraint requiring pipeline filters to have a parameterless constructor (new() constraint)
  • This change enables pipeline filters to receive dependencies through constructor injection
  • Modified all relevant method signatures across the framework to support this new flexibility

Affected Components

The new() constraint was removed from the following interfaces and methods:

  1. In ISuperSocketHostBuilder<TReceivePackage> interface:

    • UsePipelineFilter<TPipelineFilter>() method
  2. In HostBuilderExtensions class:

    • AsSuperSocketHostBuilder<TReceivePackage, TPipelineFilter>() method
  3. In MultipleServerHostBuilder class:

    • AddServer<TReceivePackage, TPipelineFilter>() method
    • AddServer<TSuperSocketService, TReceivePackage, TPipelineFilter>() method
  4. In SuperSocketHostBuilder class and static methods:

    • UsePipelineFilter<TPipelineFilter>() method
    • Create<TReceivePackage, TPipelineFilter>() methods

Compatibility

This change is backward compatible with existing code. Pipeline filters with default constructors will continue to work as before, but now you can also create pipeline filters that require dependencies to be injected.

Example Usage

With this change, you can now create pipeline filters that require dependencies:

public class MyPipelineFilter : IPipelineFilter<TextPackageInfo>
{
    private readonly ILogger<MyPipelineFilter> _logger;
    private readonly IConfiguration _configuration;

    // Constructor with dependencies - now supported!
    public MyPipelineFilter(ILogger<MyPipelineFilter> logger, IConfiguration configuration)
    {
        _logger = logger;
        _configuration = configuration;
    }

    // Implementation details...
}

// Register and use the filter
hostBuilder.AsSuperSocketHostBuilder<TextPackageInfo, MyPipelineFilter>();

Release Status

This is a beta release intended for testing. Please report any issues you encounter on the GitHub repository.

Contributors

  • Kerry Jiang
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-android34.0 is compatible.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-ios18.0 is compatible.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-macos15.0 is compatible.  net8.0-tvos was computed.  net8.0-tvos18.0 is compatible.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-android35.0 is compatible.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-ios18.0 is compatible.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-macos15.0 is compatible.  net9.0-tvos was computed.  net9.0-tvos18.0 is compatible.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (30)

Showing the top 5 NuGet packages that depend on SuperSocket.ProtoBase:

Package Downloads
SuperSocket.ClientEngine

It's a .NET socket tool which can simplify the socket client developing

SuperSocket.WebSocket

SuperSocket WebSocket protocol implementation providing frame parsing, message handling, and standards-compliant WebSocket protocol support (RFC 6455) for real-time bidirectional communication.

SuperSocket.Channel

SuperSocket library to abstract underlying communications as channel with pipeline.

SuperSocket.Primitives

SuperSocket core primitive interfaces and classes that define the fundamental abstractions for network communication, session management, and message handling.

SuperSocket.Server

SuperSocket server hosting library providing the core server implementation with session management, connection handling, and integration with the .NET dependency injection system and configuration framework.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on SuperSocket.ProtoBase:

Repository Stars
kerryjiang/SuperSocket.ClientEngine
A .NET library which can make your socket client development easier
jianjipan/MES
这是一个用C#写的MES系统 ,用到了supersocket通信框架,以及WPF技术
Version Downloads Last updated
2.0.2-beta.1 202 5/25/2025
2.0.1 836 5/24/2025
2.0.0 1,318 4/20/2025
2.0.0-beta.31 512 4/2/2025
2.0.0-beta.30 958 1/26/2025
2.0.0-beta.28 1,367 11/2/2024
2.0.0-beta.27 2,794 9/30/2024
2.0.0-beta.26 2,017 8/31/2024
2.0.0-beta.25 690 8/21/2024
2.0.0-beta.24 1,801 6/29/2024
2.0.0-beta.23 1,452 6/1/2024
2.0.0-beta.22 1,345 5/25/2024
2.0.0-beta.21 805 5/4/2024
2.0.0-beta.20.448 1,409 4/14/2024
2.0.0-beta.18 10,350 8/30/2023
2.0.0-beta.17 4,308 6/4/2023
2.0.0-beta.16 1,000 5/10/2023
2.0.0-beta.15 6,467 3/5/2023
2.0.0-beta.14 1,724 2/21/2023
2.0.0-beta.13 7,293 1/17/2023
2.0.0-beta.12 19,484 10/30/2022
2.0.0-beta.11 8,700 5/6/2022
2.0.0-beta.10 67,771 5/29/2021
2.0.0-beta.9 593 5/26/2021
2.0.0-beta.8 19,857 1/23/2021
1.7.0.17 392,316 6/8/2017
1.7.0.16 1,862 5/29/2017
1.7.0.15 2,314 3/22/2017
1.7.0.14 2,195 3/8/2017
1.7.0.13 4,610 12/30/2016
1.7.0.12 7,295 8/27/2016
1.7.0.11 3,770 8/11/2016
1.7.0.10 1,861 8/5/2016
1.7.0.9 1,505 8/4/2016
1.7.0.8 2,385 7/27/2016
1.7.0.7 2,321 6/28/2016
1.7.0.5 3,763 4/16/2016
1.7.0-beta7 1,419 6/22/2016
1.7.0-beta6 1,445 5/30/2016