解决MySql布尔型新旧版本兼容问题,采用枚举来表示布尔型的数据表。由正向工程赋值
|
# 网络库竞å“分æž
> 版本:v6.0 | 日期:2026-10-12
> 定ä½ï¼š**高层概览**——åªåšå¤§æ–¹å‘对比,用æ¥çœ‹æ¸…本库在åŒç±»ä¸çš„ä½ç½®ã€‚v12 é‡åž‹é‡æž„已完æˆï¼Œæ—©æœŸé‚£ç§"é€é¡¹çŸ©é˜µ + 逿¡£æ€§èƒ½"çš„ç»†ç²’åº¦å¯¹æ ‡ï¼ˆç”¨äºŽé©±åŠ¨å¿«é€Ÿé‡æž„)已ä¸å†éœ€è¦ã€‚
> æ•°æ®æ¥æºï¼šç«žå“官方仓库与 NuGet è”ç½‘æ ¸éªŒï¼ˆ2026-10-12);本库性能数æ®è§ `Doc/性能/` å„æŠ¥å‘Šã€‚
---
## 1. 一å¥è¯ç»“论
本库在**ä¼ è¾“ã€å†…å˜ã€åè®®ã€å…¼å®¹æ€§ã€AOTã€å¯è§‚测性**这些"底层硬能力"上,已ç»ä¸Žä¸»æµåŒç±»å¯¹é½ï¼Œéƒ¨åˆ†é¢†å…ˆï¼›å‰©ä¸‹çš„å·®è·é›†ä¸åœ¨**上层应用化**(HTTP æ·±åº¦ã€æ’件生æ€ã€è£…é…体验)和**生æ€ç»è¥**(文档ã€å®£å‘)——属于长期慢补的事,ä¸å†æž„æˆ"å¿…é¡»é©¬ä¸Šé‡æž„"的压力。
---
## 2. 竞å“ä¸Žæ ¼å±€
### 2.1 竞å“一览
| ç«žå“ | å®šä½ | 与本库的关系 |
|------|------|--------------|
| **Kestrel** | 微软 ASP.NET Core Web æœåŠ¡å™¨ï¼ˆHTTP/1.1ã€HTTP/2ã€HTTP/3ã€WebSocket) | 上层 Web å议实现,éžç›´æŽ¥ç«žäº‰ï¼›å¯å€Ÿé‰´å…¶è¶…æ—¶/内å˜ç®¡ç† |
| **DotNetty** | Netty çš„ .NET ç§»æ¤ï¼ˆäº‹ä»¶é©±åŠ¨å¼‚æ¥æ¡†æž¶ï¼‰ | 直接åŒç±»ï¼›æ¨¡åž‹ç»å…¸ä½†**è¿ä»£å·²åœæ»ž** |
| **SuperSocket** | 坿‰©å±• Socket æœåŠ¡å™¨æ¡†æž¶ï¼ˆæ‹†åŒ…å™¨ + Command + MCP/SSE) | 直接åŒç±»ï¼›**上层应用化程度高** |
| **TouchSocket** | 一体化网络框架(TCP/UDP/WS/HTTP/MQTT/Modbus/RPC/MCP) | 直接åŒç±»ï¼›**æ’ä»¶ç”Ÿæ€ + åŒè¯æ–‡æ¡£**强 |
| **HPSocket.Net** | 国产 C++ é€šä¿¡å†…æ ¸ HP-Socket çš„ .NET 绑定 | 直接åŒç±»ï¼›ä»£è¡¨"åŽŸç”Ÿå†…æ ¸ + 托管绑定"æµæ´¾ |
| **NetCoreServer** | æžç®€å¼‚æ¥ Socket 库(TCP/SSL/UDP/UDS/HTTP/WS,C10K) | 直接åŒç±»ï¼›"æžç®€æ´¾"æ ‡æœ¬ |
| **WatsonTcp** | 消æ¯çº§ TCP 框架(.NET Foundation,内建分帧 + OTel + AOT) | 直接åŒç±»ï¼›"易用派"æ ‡æœ¬ |
| **System.IO.Pipelines** | .NET 官方æµå¼ I/O 基础设施(Pipe/PipeReader/PipeWriter) | å¯¹æ ‡åŸºå‡†ï¼Œéžç«žå“ |
### 2.2 现状数æ®ï¼ˆ2026-10-12)
| 竞å“(仓库) | 版本 | è®¸å¯ | Stars | Forks | NuGet ä¸‹è½½é‡ | 维护 |
|------|------|------|------:|------:|------------:|------|
| **NewLife.Core**(NewLifeX/X) | 12.0.2026.1011-beta | MIT | 1,860 | **549** | 191 万 | 活跃 |
| Kestrel(dotnet/aspnetcore) | éš .NET 10 | MIT | 38,467 | 13,488 | —(框架内置) | 活跃 |
| DotNetty | 0.7.6 | MIT | 4,250 | 1,009 | 2,310 万 | âš ï¸ åœæ»ž |
| SuperSocket | 2.1.0 | Apache-2.0 | 4,236 | 1,162 | 29 万 | 活跃 |
| TouchSocket | 4.3.10 | Apache-2.0 | 1,284 | 206 | 95 万 | 活跃 |
| HPSocket.Net | 6.0.9.1 | Apache-2.0 | 221 | 53 | 23 万 | 低频 |
| NetCoreServer | 8.0.7 | MIT | 3,128 | 629 | 154 万 | 活跃 |
| WatsonTcp | 6.5.0 | MIT | 675 | 129 | 60 万 | 活跃 |
| System.IO.Pipelines(dotnet/runtime) | éš .NET 10 | MIT | 18,331 | 5,651 | —(BCL) | 活跃 |
> å£å¾„:Stars/Forks/æŽ¨é€æ—¶é—´ä¸º GitHub API;下载é‡ä¸º NuGet 累计(主包å£å¾„)。**Fork 数上看本库ä¸å 优(549 低于 DotNetty/SuperSocket/NetCoreServer),但 fork/star ≈ 29.5% 是åŒç±»æœ€é«˜**â€”â€”åæ˜ "fork åŽå®šåˆ¶/ç§æœ‰åŒ–改å"的活跃度强。
### 2.3 åˆ†å±‚ä¸Žæµæ´¾
这些对象ä¸åœ¨åŒä¸€å±‚,先分层å†çœ‹ï¼š
- **应用框架层**:SuperSocket(Command)ã€TouchSocket(Plugin/RPC)——把网络能力包装æˆ"应用框架"。
- **Web/Agent å议层**:Kestrel(HTTP å®¶æ—);近两年 SuperSocket / TouchSocket 把 **MCP**(AI Agent 通信)纳入进æ¥ã€‚
- **通用网络层(åŒç±»æˆ˜åœºï¼‰**:本库ã€DotNettyã€SuperSocket æ ¸å¿ƒã€TouchSocketã€HPSocket.Netã€NetCoreServerã€WatsonTcp。
- **基础设施**:System.IO.Pipelines。
ä¸‰å¤§æµæ´¾ï¼š**微软系共享底座**(Kestrel/SuperSocket,基于 Pipelines)ã€**è‡ªç ”ä¸€ä½“æ ˆ**(本库/DotNetty/TouchSocket/NetCoreServer/WatsonTcp)ã€**åŽŸç”Ÿå†…æ ¸**(HPSocket.Net,C++ å†…æ ¸ + P/Invoke)。本库属"è‡ªç ”ä¸€ä½“æ ˆ",走"一套抽象覆盖全部 + 少釿‰©å±•点"的路线。
---
## 3. 大方å‘对比
åªæ¯”大方å‘,ä¸é€é¡¹å±•开。结论æ 用相对定ä½ï¼ˆé¢†å…ˆ / æŒå¹³ / è½åŽï¼‰ï¼š
| æ–¹å‘ | æœ¬åº“çŠ¶æ€ | åŒç±»åæ ‡ | 结论 |
|------|----------|----------|------|
| **ä¼ è¾“åè®®** | TCP/UDP åŒæ ˆåŒå议(四监å¬èšåˆï¼‰+ TLS + WebSocket + åµŒå…¥å¼ HTTP + UDS;任æ„二进制å议为一ç‰å…¬æ°‘ | å„家大体é½å¤‡ï¼›Kestrel 专注 HTTP 深度,NetCoreServer 多å议对称 | æŒå¹³ï¼ˆæœ¬åº“"宽而全") |
| **I/O 与内å˜** | SAEA 接收环 + é›¶æ‹·è´æ‰€æœ‰æƒï¼ˆå€Ÿå‡ºå³åŒ…è£…å¥æŸ„ï¼Œæ”¶å°¾æŒ‰å¼•ç”¨è®¡æ•°å†³å®šç•™ç”¨è¿˜æ˜¯æ¢æ–°ï¼‰ | Pipelines ç³» async 循环ã€DotNetty `ByteBuf` 引用计数ã€NetCoreServer/WatsonTcp æ— æ± åŒ– | æŒå¹³æˆ–ç•¥é¢†å…ˆï¼ˆæ‰€æœ‰æƒæ¨¡åž‹è¾ƒç‹¬ç‰¹ï¼‰ |
| **ç¼–è§£ç 与扩展** | å•引擎 `MessagePump` + æ— çŠ¶æ€å议对象 `IMessageCodec`ï¼›åŒæ¥/异æ¥åŒå…¥å£ï¼Œæ•´å¸§/æµå¼é€šåƒ | å„家都有拆包机制(FrameDecoder / PipelineFilter / DataAdapter) | æŒå¹³ï¼ˆå¹¿åº¦ç•¥é¢†å…ˆï¼‰ |
| **请求-å“应** | `SendMessageAsync` 匹é…é˜Ÿåˆ—ï¼ˆæ± åŒ–ã€é›¶åˆ†é…) | SuperSocket Commandã€TouchSocket RPCã€WatsonTcp SendAndWait | æŒå¹³ |
| **客户端功能** | 自动é‡è¿žï¼ˆåŸºç¡€æ¡£ï¼‰ã€è°“è¯ç¾¤å‘ã€è´Ÿè½½å‡è¡¡ï¼ˆå®¢æˆ·ç«¯å¤šèŠ‚ç‚¹ï¼‰ | TouchSocket é‡è¿žæ’ä»¶ + æ’ä»¶ç”Ÿæ€æ›´å…¨ | æŒå¹³å弱(é‡è¿žä½“éªŒã€æ’件生æ€ï¼‰ |
| **å¹³å°å…¼å®¹** | **11 个 TFM(net45~net10)**,零第三方ä¾èµ– | åŒç±»æœ€ä½Ž net462(TouchSocket)/ net6(SuperSocket);HPSocket 走原生库 | **领先** |
| **AOT / Trim** | æ ¸å¿ƒé“¾è·¯ NativeAOT 实测支æŒï¼ˆ31 场景ã€0 告è¦ã€CI é—¨ç¦ï¼‰ | Kestrel / WatsonTcp / TouchSocket ä¹Ÿæ”¯æŒ | æŒå¹³ï¼ˆå·²å¯¹é½ï¼‰ |
| **å¯è§‚测性** | `ILog` + `ITracer`,且**与 OpenTelemetry åŒå‘互通**(W3C traceparent) | WatsonTcp 内建 OTel(å•å‘) | æŒå¹³æˆ–略领先 |
| **应用化程度** | 手工分å‘为主,生æ€å±‚ `NewLife.Remoting` 承接 RPC | SuperSocket Commandã€TouchSocket æ’件市场 | **è½åŽ**(上层应用化) |
| **包结构** | å•包巨石(一个 `NewLife.Core` 拿到全套) | SuperSocket 16+ 模å—化包 | è½åŽï¼ˆä½†ä¸Ž"全家桶"定ä½ç»‘定) |
| **国际化与宣å‘** | 䏿–‡æ–‡æ¡£ä¸ºä¸»ï¼›æ€§èƒ½æ•°æ®å®Œæ•´ä½†æœªå¯¹å¤–å‘布 | DotNetty/SuperSocket 英文社区;TouchSocket åŒè¯ + Pro | **è½åŽ** |
---
## 4. 本库的优势(高层)
1. **兼容矩阵最宽**:net45 èµ·ã€11 个 TFM,零第三方ä¾èµ–——è€å·¥ä¸šä¸Šä½æœº/桌é¢é¡¹ç›®é‡ŒåŸºæœ¬æ²¡æœ‰æ›¿ä»£å“。
2. **开箱å³ç”¨çš„ä¼ è¾“**:一行é…ç½®è‡ªåŠ¨ç›‘å¬ Tcp/Tcpv6/Udp/Udpv6,还补é½äº† UDS。
3. **é›¶æ‹·è´å†…å˜æ¨¡åž‹**ï¼šå¼•ç”¨è®¡æ•°å¥æŸ„ + 收尾自动è£å†³ï¼Œ"没人用时零借还"ï¼Œä¸”é… DEBUG 兜底告è¦ã€‚åŒç±»é‡Œåªæœ‰æœ¬åº“把所有æƒè‡ªåŠ¨åŒ–åšåˆ°è¿™ä¸€æ¥ã€‚
4. **å议层æµå¼èƒ½åŠ›**:头部到é½å³äº¤ä»˜ã€å¤§å¸§èµ°æµå¼ä½“(`LimitedReader`),以"通用å议契约"å½¢æ€æä¾›ã€ä¸”å…¨ TFM å¯ç”¨â€”—åŒç±»å°‘è§ã€‚
5. **è‡ªç ” `Pipe`**:形æ€å¯¹é½ `System.IO.Pipelines`,但**最è€åˆ° net45 都能用**(Pipelines 最低 ns2.0)。
6. **生æ€é—环 + å¯ç§æœ‰åŒ–**:星尘/Remoting/MQTT/Cube ååŒï¼›MIT åè®®ã€æ”¯æŒæ•´ä½“改åç§æœ‰åŒ–——fork/star 比值åŒç±»æœ€é«˜ã€‚
---
## 5. 本库的差è·ï¼ˆé«˜å±‚)
1. **HTTP 深度有é™**ï¼šæ— HTTP/2ã€HTTP/3ã€SNIâ€”â€”é‡ Web/网关场景è¦å‰ç½® Kestrel。
2. **上层应用化ä¸è¶³**:没有 Command æ¨¡åž‹ã€æ²¡æœ‰å¼€ç®±æ’件(心跳/鉴æƒ/陿µï¼‰ï¼Œä¼ä¸šæŽ¥å…¥è¦è‡ªå·±å†™ã€‚
3. **没有声明å¼è£…é…**:é 属性赋值装é…,没有 Kestrel é‚£ç§ `Use(...)` ä¸é—´ä»¶é“¾ï¼Œç»„åˆå¤æ‚æ—¶ä¸å¥½è¯»ã€ä¸å¥½å‘现。
4. **é‡è¿žä½“验å•è–„**ï¼šåªæœ‰åŸºç¡€é‡è¿žï¼Œç¼ºé€€é¿æ¢¯åº¦ã€æ–线期间消æ¯ç¼“冲ã€çŠ¶æ€æ¢å¤é’©å——弱网/移动端体验有差è·ã€‚
5. **å¤§ç¼“å†²æ± åŒ–æœªç³»ç»ŸåŒ–**:>85KB 的大å—åªæœ‰"必须零拷è´"çš„ç»éªŒæŒ‡å¯¼ï¼Œæ²¡æœ‰åˆ†çº§æ± /POH 方案。
6. **国际化与宣å‘è–„å¼±**ï¼šè‹±æ–‡èµ„æ–™å°‘ã€æ€§èƒ½æ•°æ®æ²¡å¯¹å¤–å‘â€”â€”å½±å“æµ·å¤–采用与å£ç¢‘。
> 说明:以上都是"锦上添花"型差è·ï¼Œ**æ²¡æœ‰ä¸€æ¡æ˜¯"底座ä¸è¡Œ"**ã€‚åº•å±‚èƒ½åŠ›ï¼ˆä¼ è¾“/内å˜/åè®®/兼容/AOT/å¯è§‚测性)已ç»ä¸è½åŽã€‚
---
## 6. åŽç»æ–¹å‘(按性价比排åºï¼‰
| 优先级 | 事项 | 说明 |
|:------:|------|------|
| **P0** | æ•´åˆå‘布性能基准报告 | äº”ä»½å†…éƒ¨æŠ¥å‘Šå·²å°±ç»ªï¼Œæ•´åˆæˆå¯¹å¤–《网络性能基准报告》å³å¯ï¼ˆæ ‡æ³¨æµ‹è¯•æ¡ä»¶ï¼Œåˆ«å¤¸å¤§ï¼‰â€”â€”æˆæœ¬ä½Žã€è§æ•ˆå¿« |
| **P0** | é‡è¿žèƒ½åŠ›åˆ†çº§ | 客户端层独立改动,ä¸ç¢°å†…æ ¸ï¼šå¯é…退é¿åºåˆ— + é‡è¿žç”Ÿå‘½å‘¨æœŸäº‹ä»¶ + 消æ¯ç¼“冲钩å |
| **P1** | è£…é… Builder 模型 | åŠ ä¸€å±‚è–„ `ServerBuilder`/`ClientBuilder` æ˜ å°„çŽ°æœ‰è£…é…ç‚¹ï¼Œä¸æ›¿æ¢çŽ°æœ‰ APIï¼›æå‡å¯è¯»æ€§ä¸Žå¯å‘现性 |
| **P1** | 应用层æ’件三件套 | 心跳/鉴æƒ/陿µï¼Œä»¥ Handler å½¢å¼å¼€ç®±å³ç”¨ï¼Œé¡ºå¸¦å½“ `INetHandler` æ•™å¦æ ·æœ¬ |
| **P2** | HTTP 补强 / 模å—化 / 英文文档 | 视需求立项:SNIã€HTTP/2 è°ƒç ”ï¼›æ¨¡å—åŒ–åŒ…æ‹†åˆ†ï¼›æ ¸å¿ƒæ–‡æ¡£è‹±è¯‘ |
| **P2** | 观察 MCP / AI Agent 通信 | ç«žå“æ–°æ–¹å‘;本库定ä½é€šç”¨ç½‘络层,先观察,有明确场景å†ç”±ç”Ÿæ€å±‚承接 |
---
## 7. 说明
- 本文为**高层概览**,ä¸åšé€é¡¹/逿¡£å¯¹æ¯”ï¼›è¦ç»†é¢—粒度的性能与机制对比,看 `Doc/性能/` 下的专项报告与《消æ¯åè®®æ ˆã€‹ã€Šæ•°æ®ç®¡é“Pipe》ç‰è®¾è®¡æ–‡æ¡£ã€‚
- ç«žå“æ•°æ®æˆªè‡³ 2026-10-12(官方仓库 + NuGet æ ¸éªŒï¼‰ï¼Œç»´æŠ¤çŠ¶æ€ä»¥å®˜æ–¹ä»“库为准;本库基线为 v12,æ£å¼å‘版åŽéƒ¨åˆ†æ•°æ®éœ€å¤æ ¸ã€‚
(完)
|