NewLife/NewLife.Remoting

客户端心跳时,常见网络断开错误不要抛出异常
智能大石头 authored at 2025-06-16 13:38:12
2408f35
Tree
1 Parent(s) 1159287
Summary: 1 changed files with 5 additions and 0 deletions.
Modified +5 -0
Modified +5 -0
diff --git a/NewLife.Remoting/Clients/ClientBase.cs b/NewLife.Remoting/Clients/ClientBase.cs
index 406c6c5..6b62235 100644
--- a/NewLife.Remoting/Clients/ClientBase.cs
+++ b/NewLife.Remoting/Clients/ClientBase.cs
@@ -4,6 +4,7 @@ using System.Diagnostics.CodeAnalysis;
 using System.Net;
 using System.Net.Http;
 using System.Net.NetworkInformation;
+using System.Net.Sockets;
 using System.Reflection;
 using NewLife.Caching;
 using NewLife.Data;
@@ -741,6 +742,10 @@ public abstract class ClientBase : DisposeBase, IApiClient, ICommandClient, IEve
 
             Log?.Debug("心跳异常 {0}", ex.GetTrue().Message);
 
+            // 常见网络断开错误不要抛出异常
+            if (ex2 is IOException || ex2 is SocketException sex && sex.SocketErrorCode == SocketError.ConnectionReset)
+                return null;
+
             throw;
         }
     }