{"id":15108735,"url":"https://github.com/kerryjiang/supersocket","last_synced_at":"2025-05-13T18:04:56.498Z","repository":{"id":4180616,"uuid":"5297370","full_name":"kerryjiang/SuperSocket","owner":"kerryjiang","description":"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.","archived":false,"fork":false,"pushed_at":"2025-05-06T15:55:43.000Z","size":28070,"stargazers_count":4046,"open_issues_count":206,"forks_count":1157,"subscribers_count":273,"default_branch":"master","last_synced_at":"2025-05-06T17:14:02.020Z","etag":null,"topics":["csharp","dotnet","network-protocol-decoding","realtime-communication","socket","socketserver","tcp","udp","websocket"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kerryjiang.png","metadata":{"files":{"readme":"README.CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-08-04T17:48:39.000Z","updated_at":"2025-05-06T15:55:43.000Z","dependencies_parsed_at":"2024-02-10T07:30:55.030Z","dependency_job_id":"e4ddd178-c397-43ee-a44e-57a9d02ec6cd","html_url":"https://github.com/kerryjiang/SuperSocket","commit_stats":{"total_commits":3533,"total_committers":28,"mean_commits":"126.17857142857143","dds":0.4404189074440985,"last_synced_commit":"7f0ed056decb83b20b64248e2756fdaa4997db33"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FSuperSocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FSuperSocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FSuperSocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kerryjiang%2FSuperSocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kerryjiang","download_url":"https://codeload.github.com/kerryjiang/SuperSocket/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000824,"owners_count":21997441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","network-protocol-decoding","realtime-communication","socket","socketserver","tcp","udp","websocket"],"created_at":"2024-09-25T22:24:03.842Z","updated_at":"2025-05-13T18:04:56.475Z","avatar_url":"https://github.com/kerryjiang.png","language":"C#","readme":"# SuperSocket\n\n[![Join the chat at https://gitter.im/supersocket/community](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/supersocket/community)\n[![Build](https://github.com/kerryjiang/SuperSocket/workflows/build/badge.svg)](https://github.com/kerryjiang/SuperSocket/actions?query=workflow%3Abuild)\n[![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.svg?style=flat)](https://www.nuget.org/packages/SuperSocket/)\n[![NuGet](https://img.shields.io/nuget/dt/SuperSocket.svg)](https://www.nuget.org/packages/SuperSocket)\n[![Badge](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu/#/en_US)\n\n\n**SuperSocket** 是一个用于 .NET 的高性能、可扩展的套接字服务器应用程序框架。它为构建自定义网络通信应用程序提供了强大的架构，支持包括 TCP、UDP 和 WebSocket 在内的多种协议。\n\n- **项目主页**:\t\t[https://www.supersocket.net/](https://www.supersocket.net/)\n- **文档**:\t\t[https://docs.supersocket.net/](https://docs.supersocket.net/)\n- **License**: \t\t\t\t[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)\n\n***SuperSocket 的主要特点包括：***\n1. **灵活的管道架构：**\n    SuperSocket 实现了基于管道的处理模型，通过可自定义的过滤器高效处理传入数据。\n\n2. **协议抽象：**\n    该框架抽象了底层套接字操作，并为实现各种协议提供了简洁的接口。它内置支持 TCP、UDP、WebSocket 以及自定义协议。\n\n3. **中间件支持：**\n    可扩展的中间件系统，允许对连接和数据包进行自定义处理。\n\n4. **会话管理：**\n    SuperSocket 提供全面的会话处理功能，管理从建立到终止的连接生命周期。\n\n5. **命令处理系统：**\n    基于命令的处理模型，高效处理客户端请求。\n\n6. **WebSocket 支持：**\n    完整实现 WebSocket 协议，包括压缩等扩展功能。\n\n7. **现代 .NET 集成：**\n    SuperSocket 专为现代 .NET 构建，与 .NET 生态系统中的依赖注入、配置和日志记录功能无缝集成。\n\n8. **跨平台：**\n    作为 .NET 库，SuperSocket 可在 .NET 支持的所有平台上运行。\n\n8. **客户端支持：**\n    该框架包含用于建立与套接字服务器连接的客户端组件，包括代理功能。\n\n9. **高性能：**\n    SuperSocket 通过缓冲池和最小化内存分配，设计用于高吞吐量和低延迟场景，内存使用高效。\n\n\n***SuperSocket 适用于广泛的应用场景：***\n* 包括实时通信系统\n* IoT 设备连接\n* 游戏服务器\n* 聊天应用程序\n* 以及任何需要自定义网络协议的场景\n\n---\n\n##### Nuget Package\n\n| Package | MyGet 测试版发布 | NuGet 稳定版发布 |\n| :------|:------------:|:------------:|\n| **SuperSocket.ProtoBase** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.ProtoBase)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.ProtoBase) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.ProtoBase.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.ProtoBase/)|\n| **SuperSocket.Primitives** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Primitives)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Primitives) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Primitives.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Primitives/)|\n| **SuperSocket.Connection** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Connection)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Connection) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Connection.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Connection/)|\n| **SuperSocket.Kestrel** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Kestrel)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Kestrel) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Kestrel.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Kestrel/)|\n| **SuperSocket.Server** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Server)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Server) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Server.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Server/)|\n| **SuperSocket.Server.Abstractions** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Server.Abstractions)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Server.Abstractions) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Server.Abstractions.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Server.Abstractions/)|\n| **SuperSocket.Command** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Command)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Command) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Command.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Command/)|\n| **SuperSocket.Client** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Client)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Client) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Client.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Client/)|\n| **SuperSocket.Client.Proxy** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Client.Proxy)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Client.Proxy) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Client.Proxy.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Client.Proxy/)|\n| **SuperSocket.WebSocket** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.WebSocket)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.WebSocket) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.WebSocket.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.WebSocket/)|\n| **SuperSocket.WebSocket.Server** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.WebSocket.Server)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.WebSocket.Server) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.WebSocket.Server.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.WebSocket.Server/)|\n| **SuperSocket.Udp** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.Udp)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.Udp) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.Udp.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.Udp/)|\n| **[SuperSocket.SerialIO](https://github.com/SuperSocket/SuperSocket.SerialIO)** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.SerialIO)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.SerialIO) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.SerialIO.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.SerialIO/)|\n| **[SuperSocket.ProtoBuf](https://github.com/SuperSocket/SuperSocket.ProtoBuf)** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.ProtoBuf)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.ProtoBuf) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.ProtoBuf.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.ProtoBuf/)|\n| **[SuperSocket.MessagePack](https://github.com/SuperSocket/SuperSocket.MessagePack)** | [![MyGet Version](https://img.shields.io/myget/supersocket/vpre/SuperSocket.MessagePack)](https://www.myget.org/feed/supersocket/package/nuget/SuperSocket.MessagePack) | [![NuGet Version](https://img.shields.io/nuget/vpre/SuperSocket.MessagePack.svg?style=flat)](https://www.nuget.org/packages/SuperSocket.MessagePack/)|\n\n\nNightly build packages:  https://www.myget.org/F/supersocket/api/v3/index.json\n\n---\n\n## SuperSocket 2.0 路线图：\n\n- 2025:\n    - More documents\n    - Performance test/tuning\n    - Fix issues of the existing features\n    - Other features requested by users","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkerryjiang%2Fsupersocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkerryjiang%2Fsupersocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkerryjiang%2Fsupersocket/lists"}