Skip to content

SuperSocket is a high-performance, extensible socket server application framework for .NET. It provides a robust architecture for building custom network communication applications with support for multiple protocols including TCP, UDP, and WebSocket.

License

Notifications You must be signed in to change notification settings

kerryjiang/SuperSocket

Repository files navigation

SuperSocket

Join the chat at https://gitter.im/supersocket/community Build NuGet Version NuGet Badge

SuperSocket is a high-performance, extensible socket server application framework for .NET. It provides a robust architecture for building custom network communication applications with support for multiple protocols including TCP, UDP, and WebSocket.

Key features of SuperSocket include:

  1. Flexible Pipeline Architecture: SuperSocket implements a pipeline-based processing model that allows for efficient handling of incoming data with customizable filters.

  2. Protocol Abstraction: The framework abstracts away low-level socket operations and provides a clean interface for implementing various protocols through pipeline filters. It has built-in support for TCP, UDP, WebSocket, and even custom protocols.

  3. Middleware Support: Extensible middleware system allowing for custom processing of connections and packages.

  4. Session Management: SuperSocket provides comprehensive session handling capabilities, managing connection lifecycles from establishment to termination.

  5. Command Handling System: Command-based processing model to handle client requests efficiently.

  6. WebSocket Support: Full implementation of the WebSocket protocol with extensions like compression.

  7. Modern .NET Integration: SuperSocket is built for modern .NET and integrates seamlessly with the dependency injection, configuration, and logging facilities in the .NET ecosystem.

  8. Cross-Platform: As a .NET library, SuperSocket works across platforms supported by .NET.

  9. Client Support: The framework includes client components for establishing connections to socket servers, including proxy capabilities.

  10. High Performance: SuperSocket is designed for high throughput and low latency with efficient memory usage through buffer pooling and minimal allocations

SuperSocket is suitable for a wide range of applications including:

  • Real-time communication systems
  • IoT device connectivity
  • Game servers
  • Chat applications
  • and any scenario requiring custom network protocols

Nuget Packages
Package MyGet Beta Release NuGet Stable Release
SuperSocket.ProtoBase MyGet Version NuGet Version
SuperSocket.Primitives MyGet Version NuGet Version
SuperSocket.Connection MyGet Version NuGet Version
SuperSocket.Kestrel MyGet Version NuGet Version
SuperSocket.Server MyGet Version NuGet Version
SuperSocket.Server.Abstractions MyGet Version NuGet Version
SuperSocket.Command MyGet Version NuGet Version
SuperSocket.Client MyGet Version NuGet Version
SuperSocket.Client.Proxy MyGet Version NuGet Version
SuperSocket.WebSocket MyGet Version NuGet Version
SuperSocket.WebSocket.Server MyGet Version NuGet Version
SuperSocket.Udp MyGet Version NuGet Version
SuperSocket.SerialIO MyGet Version NuGet Version

Nightly build packages: https://www.myget.org/F/supersocket/api/v3/index.json


SuperSocket 2.0 Roadmap:

  • 2025:
    • More documents
    • Performance test/tuning
    • Fix issues of the existing features
    • Other features requested by users

About

SuperSocket is a high-performance, extensible socket server application framework for .NET. It provides a robust architecture for building custom network communication applications with support for multiple protocols including TCP, UDP, and WebSocket.

Topics

Resources

License

Stars

Watchers

Forks

Packages