SAEA - 高性能网络通信框架家族 🚀

April 20, 2026 · View on GitHub

NuGet version (SAEA) License

English Version | 中文版

基于 .NET Standard 2.0 的高性能 IOCP 网络通信框架,提供完整的网络应用解决方案。

SAEA.Socket 是一个 IOCP 高性能 sockets 网络框架,Src 中包含其使用场景,例如大文件传输、WebSocket 客户端和服务器、高性能消息队列、RPC、Redis 驱动、HTTP Server、MQTT、MVC、DNS、消息服务器等。


快速导航 🧭

章节内容
⚡ 30秒快速开始最简单的上手方式
🧩 组件导航选择合适的组件
📐 项目架构整体架构设计
✨ 核心特性主要功能亮点
📊 性能对比与同类框架对比
❓ 常见问题FAQ 快速解答
🔗 资源链接更多学习资源

30秒快速开始 ⚡

方式 1: 安装核心 Socket 框架

dotnet add package SAEA.Sockets
// 创建 TCP 服务器(仅需5行代码)
var server = SocketFactory.CreateServerSocket(
    SocketOptionBuilder.Instance.SetSocket(SAEASocketType.Tcp).UseIocp().SetPort(39654).Build()
);
server.OnReceive += (id, data) => server.Send(id, data);
server.Start();

方式 2: 选择适合你的组件

根据你的需求选择对应组件:

你的需求推荐组件安装命令
Web API 开发SAEA.MVCdotnet add package SAEA.MVC
WebSocket 实时通信SAEA.WebSocketdotnet add package SAEA.WebSocket
P2P 直连通信SAEA.P2Pdotnet add package SAEA.P2P
Redis 缓存操作SAEA.RedisSocketdotnet add package SAEA.RedisSocket
微服务 RPCSAEA.RPCdotnet add package SAEA.RPC
IoT 设备通信SAEA.MQTTdotnet add package SAEA.MQTT
文件传输SAEA.FileSocketdotnet add package SAEA.FileSocket

组件导航 🧩

核心组件

组件功能NuGet中文文档英文文档适用场景
🔌 SAEA.SocketsIOCP Socket 通信框架NuGet中文English游戏服务器、实时通信、IoT
🔧 SAEA.Common通用工具类库NuGet中文English序列化、缓存、加密

Web 应用组件

组件功能NuGet中文文档英文文档适用场景
🌐 SAEA.HttpHTTP 服务器NuGet中文EnglishRESTful API、静态文件服务
🎨 SAEA.MVCMVC Web 框架NuGet中文EnglishWeb 应用、API 服务

实时通信组件

组件功能NuGet中文文档英文文档适用场景
💬 SAEA.WebSocketWebSocket 服务器/客户端NuGet中文English实时聊天、推送通知
🤖 SAEA.MQTTMQTT 协议实现NuGet中文EnglishIoT 设备、智能家居
📨 SAEA.MessageSocket消息服务器NuGet中文English即时通讯、在线客服

P2P 通信组件

组件功能NuGet中文文档英文文档适用场景
🔗 SAEA.P2PP2P 直连通信组件NuGet中文EnglishNAT 穿透、局域网发现、即时通讯、游戏对战

数据与存储组件

组件功能NuGet中文文档英文文档适用场景
📦 SAEA.RedisSocketRedis 客户端NuGet中文EnglishRedis 缓存、分布式锁
📁 SAEA.FileSocket文件传输组件NuGet中文English大文件传输、断点续传
🗂️ SAEA.FTPFTP 服务器/客户端NuGet中文English文件服务器、FTP 客户端

分布式系统组件

组件功能NuGet中文文档英文文档适用场景
🔗 SAEA.RPCRPC 远程调用NuGet中文English微服务通信、远程调用
📊 SAEA.QueueSocket内存消息队列NuGet中文EnglishPub/Sub、事件通知

网络工具组件

组件功能NuGet中文文档英文文档适用场景
🌍 SAEA.DNSDNS 服务器/客户端NuGet中文EnglishDNS 代理、域名解析

项目架构 📐

SAEA 组件家族架构图

┌─────────────────────────────────────────────────────────────────┐
│                    SAEA 组件家族架构总览                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌───────────── 应用层组件 ─────────────┐                     │
│   │                                       │                     │
│   │  ┌─────────┐  ┌──────────┐           │                     │
│   │  │  MVC    │  │ WebSocket│           │                     │
│   │  │(Web框架)│  │(实时通信)│           │                     │
│   │  └────┬────┘  └────┬─────┘           │                     │
│   │       │            │                  │                     │
│   │  ┌────▼────┐  ┌───▼────┐  ┌─────────┐│                     │
│   │  │  RPC    │  │ MQTT   │  │ Message ││                     │
│   │  │(远程调用)│  │(IoT)  │  │ Socket  ││                     │
│   │  └────┬────┘  └───┬────┘  └────┬────┘│                     │
│   │       │           │            │      │                     │
│   │  ┌────▼────┐  ┌───▼────┐       │      │                     │
│   │  │  P2P    │  │ Redis  │       │      │                     │
│   │  │(NAT穿透)│  │(缓存)  │       │      │                     │
│   │  └────┬────┘  └───┬────┘       │      │                     │
│   │       │           │            │      │                     │
│   └─────────┼───────────┼────────────┼─────┘                     │
│             │           │            │                           │
│   ┌─────────▼───────────▼────────────▼─────┐                   │
│   │           SAEA.Sockets (核心层)         │                   │
│   │        IOCP 高性能 Socket 框架          │                   │
│   │  ┌──────────┐  ┌──────────┐  ┌──────┐ │                   │
│   │  │IocpSocket│  │StreamSock│  │UdpSock│ │                   │
│   │  │ (IOCP)   │  │(流模式)  │  │ (UDP) │ │                   │
│   │  └──────────┘  └──────────┘  └──────┘ │                   │
│   │  ┌──────────────────────────────────┐ │                   │
│   │  │  BufferPool │ Session │  Coder   │ │                   │
│   │  │  (内存池)   │(会话)  │(编解码)  │ │                   │
│   │  └──────────────────────────────────┘ │                   │
│   └──────────────────┬────────────────────┘                   │
│                      │                                          │
│   ┌──────────────────▼────────────────────┐                   │
│   │         SAEA.Common (基础层)           │                   │
│   │       通用工具类库 (序列化/缓存/加密)    │                   │
│   │  ┌────────┐  ┌───────┐  ┌───────┐   │                   │
│   │  │Serialize│  │ Cache │  │Encrypt│   │                   │
│   │  │(序列化) │  │(缓存) │  │(加密) │   │                   │
│   │  └────────┘  └───────┘  └───────┘   │                   │
│   └───────────────────────────────────────┘                   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

数据流架构图

客户端请求流程:

┌─────────┐      ┌──────────┐      ┌──────────┐
│ 客户端  │─────►│ Sockets  │─────►│  Coder   │
│ (TCP/UDP)│      │ IOCP接收 │      │  解码    │
└─────────┘      └──────────┘      └──────────┘


                    ┌────────────────────────────────┐
                    │    应用层处理(业务逻辑)        │
                    │  MVC / RPC / WebSocket / MQTT  │
                    └────────────────────────────────┘


                    ┌──────────┐      ┌──────────┐
                    │  Coder   │─────►│ Sockets  │─────► 客户端
                    │  编码    │      │ IOCP发送 │
                    └──────────┘      └──────────┘

核心特性 ✨

特性说明
🚀 高性能 IOCPWindows 完成端口技术,支持万级并发连接
📦 内存池优化BufferManager、UserTokenPool 减少 GC 压力
🔒 SSL/TLS 加密Stream 模式支持安全连接
🌐 IPv6 支持完全兼容 IPv6 协议
🔄 会话管理SessionManager 自动管理连接会话
🛠️ 自定义协议ICoder 接口支持灵活的协议编解码
🔗 链式配置SocketOptionBuilder 简洁易用
📝 完整组件MVC、WebSocket、RPC、Redis、MQTT 等全场景覆盖

性能对比 📊

SAEA.Sockets vs 传统 Socket

指标SAEA.Sockets传统 Socket提升
并发连接数10,000+~1,00010倍
CPU 利用率~85%~30%高效
内存占用池化复用频繁分配低 GC
延迟~1ms~10ms低延迟

SAEA.RPC vs HTTP RPC

特性SAEA.RPCHTTP RPC
序列化ProtobufJSON
传输协议TCPHTTP
连接模式长连接短连接
并发模型IOCP阻塞
性能

常见问题 ❓

Q1: SAEA 适合什么项目?

A: SAEA 适合以下场景:

  • 🎮 游戏服务器(实时对战、状态同步)
  • 📊 实时数据推送(股票行情、体育比分)
  • 🤖 IoT 设备通信(传感器数据上报)
  • 💬 即时通讯(私聊、群聊、客服系统)
  • 🔗 微服务通信(RPC 远程调用)
  • 📁 大文件传输(断点续传、高速传输)
  • 🌐 P2P 直连通信(NAT 穿透、局域网发现)

Q2: 如何选择合适的组件?

A: 根据你的需求选择:

你的需求                      推荐组件
─────────────────────────────────────
Web API 开发              →  SAEA.MVC
实时聊天/推送             →  SAEA.WebSocket
P2P 直连通信              →  SAEA.P2P
IoT 设备通信              →  SAEA.MQTT
Redis 缓存操作            →  SAEA.RedisSocket
微服务 RPC                →  SAEA.RPC
文件传输                  →  SAEA.FileSocket
自定义协议                →  SAEA.Sockets

Q3: 是否支持跨平台?

A: 基于 .NET Standard 2.0,支持:

  • ✅ Windows(IOCP 最佳性能)
  • ✅ Linux(异步 Socket)
  • ✅ macOS

Q4: NuGet 如何安装?

A: 搜索 "SAEA" 或直接安装:

# Package Manager
Install-Package SAEA.Sockets -Version 7.26.2.2

# .NET CLI
dotnet add package SAEA.Sockets --version 7.26.2.2

NuGet 地址

Q5: 如何快速上手?

A: 3 步快速开始:

  1. 安装对应组件的 NuGet 包
  2. 阅读组件 README 的 "30秒快速开始"
  3. 查看完整示例代码

每个组件都有详细的使用示例和注释。

Q6: 是否有示例项目?

A: Src 中包含多个测试项目,展示实际使用场景:

  • SAEA.SocketsTest - Socket 使用示例
  • SAEA.WebSocketTest - WebSocket 示例
  • SAEA.MVCTest - MVC Web 应用示例
  • SAEA.RedisTest - Redis 操作示例
  • SAEA.RPCTest - RPC 调用示例
  • SAEA.P2PTest - P2P NAT 穿透示例

实例截图 🖼️


资源链接 🔗

官方资源

相关项目

  • WebRedisManager - 基于 SAEA.RedisSocket 的 Redis 管理工具
  • SAEA.Rested - 基于 SAEA.MVC 的 REST API 示例
  • GFF - 基于 SAEA 的仿 QQ 通信程序

技术支持


许可证

Apache License 2.0