From d9300962fa5aa9261066af3e48418fd54d1059ce Mon Sep 17 00:00:00 2001 From: Marci Date: Sat, 29 Aug 2026 13:08:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?build:=20=E7=89=88=E6=9C=AC=E5=8D=87?= =?UTF-8?q?=E8=87=B3=202.5.0=EF=BC=88=E6=8E=A5=E5=8F=97=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E4=BB=A3=E6=AC=A1=E9=97=A8=E6=8E=A7=20+=20=E5=A4=A7=E6=8A=A5?= =?UTF-8?q?=E6=96=87=E4=BC=98=E5=8C=96=20+=20=E9=95=BF=E6=9C=9F=E8=A7=82?= =?UTF-8?q?=E5=AF=9F=E5=9F=BA=E5=BB=BA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 ++- src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj | 2 +- src/StreamFrame/StreamFrame.csproj | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9d6025..ce2d353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -175,7 +175,8 @@ - 发布自动化:`release.yml`(tag 自动建 GitHub Release)、`publish-nuget.yml`(OIDC Trusted Publishing 推送 nuget.org)。 - 单元测试 25 个 + 三场景端到端 demo。 -[Unreleased]: https://github.com/CSJ608/StreamFrame/compare/v2.4.0...HEAD +[Unreleased]: https://github.com/CSJ608/StreamFrame/compare/v2.5.0...HEAD +[2.5.0]: https://github.com/CSJ608/StreamFrame/compare/v2.4.0...v2.5.0 [2.4.0]: https://github.com/CSJ608/StreamFrame/compare/v2.3.1...v2.4.0 [2.3.1]: https://github.com/CSJ608/StreamFrame/compare/v2.3.0...v2.3.1 [2.3.0]: https://github.com/CSJ608/StreamFrame/compare/v2.2.1...v2.3.0 diff --git a/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj b/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj index 8e0b847..cc99ce7 100644 --- a/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj +++ b/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj @@ -32,7 +32,7 @@ StreamFrame.Protocols.Xml - 2.4.0 + 2.5.0 StreamFrame 的 XML 报文示例驱动:XmlDocumentCodec(XmlSerializer / XmlWriter 编解码)。 Marci MIT diff --git a/src/StreamFrame/StreamFrame.csproj b/src/StreamFrame/StreamFrame.csproj index 8746e72..1f04877 100644 --- a/src/StreamFrame/StreamFrame.csproj +++ b/src/StreamFrame/StreamFrame.csproj @@ -13,7 +13,7 @@ StreamFrame - 2.4.0 + 2.5.0 通用 socket 通讯框架:帧定界(IFramer)与帧内编解码(ICodec<TMessage>)插件化,支持长度前缀 / STX-ETX 定界与 IPv4/IPv6 双栈,可选流式零拷贝发送。 Marci MIT From 70aa7195c9737b0e858b44c2f40300e06eacdad5 Mon Sep 17 00:00:00 2001 From: Marci Date: Sat, 29 Aug 2026 13:12:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?test:=20=E6=A5=94=E5=BD=A2=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E6=B5=8B=E8=AF=95=E6=96=AD=E8=A8=80=E9=A2=84=E7=AE=97?= =?UTF-8?q?=E6=94=BE=E5=AE=BD=E5=88=B0=2030s=EF=BC=88=E6=BB=A1=E8=B4=9F?= =?UTF-8?q?=E8=BD=BD=E4=B8=8B=E5=81=B6=E5=8F=91=E6=85=A2=E6=94=B6=E6=95=9B?= =?UTF-8?q?=E8=AF=AF=E6=8A=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/StreamFrame.Tests/ReconnectWedgeTests.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/StreamFrame.Tests/ReconnectWedgeTests.cs b/test/StreamFrame.Tests/ReconnectWedgeTests.cs index cbd59a6..994543c 100644 --- a/test/StreamFrame.Tests/ReconnectWedgeTests.cs +++ b/test/StreamFrame.Tests/ReconnectWedgeTests.cs @@ -52,7 +52,7 @@ private static async Task ConnectWithRetryAsync(TcpClient client, int port, int { // Start() 是异步的:监听器完成 bind 前连接会被拒(CI 的 ubuntu 上线程池调度更慢, // 必须容忍启动窗口),重试直到超时 - var deadline = TestClock.TickCount64 + timeoutMs; + var deadline = TestClock.TickCount64 + timeoutMs; // 预算宽裕:本断言探测的是永久不可用,并行负载下偶发慢收敛不应误报 while (true) { try @@ -67,9 +67,9 @@ private static async Task ConnectWithRetryAsync(TcpClient client, int port, int } } - private static async Task WaitConnectedAsync(StreamConnection server, int timeoutMs = 10_000) + private static async Task WaitConnectedAsync(StreamConnection server, int timeoutMs = 30_000) { - var deadline = TestClock.TickCount64 + timeoutMs; + var deadline = TestClock.TickCount64 + timeoutMs; // 预算宽裕:本断言探测的是永久不可用,并行负载下偶发慢收敛不应误报 while (TestClock.TickCount64 < deadline && server.State != ConnectionState.Connected) await Task.Delay(20); Assert.Equal(ConnectionState.Connected, server.State); @@ -100,7 +100,7 @@ public async Task RapidServerInitiatedReconnects_PortStaysAcceptable() using (var client = new TcpClient()) { await ConnectWithRetryAsync(client, port); - await WaitConnectedAsync(server, 15_000); + await WaitConnectedAsync(server, 30_000); // 两路并发触发(#47 的竞速形态):杀对端(自动重连)与用户显式 Reconnect() 竞争 var kill = Task.Run(client.Dispose);