XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFEExtension.NetCore/CyberComm/CyberCommClient.cs
+2
-2
Modified
XFEExtension.NetCore/CyberComm/CyberCommClientEventArgs.cs
+5
-4
Modified
XFEExtension.NetCore/CyberComm/CyberCommClientEventArgsImpl.cs
+2
-2
Modified
XFEExtension.NetCore/CyberComm/CyberCommServer.cs
+1
-1
Modified
XFEExtension.NetCore/CyberComm/CyberCommServerEventArgs.cs
+1
-1
Modified
XFEExtension.NetCore/CyberComm/CyberCommServerEventArgsImpl.cs
+1
-1
Modified
XFEExtension.NetCore/XFEExtension.NetCore.csproj
+4
-10
XFEstudio/XFEExtension
更新事件参数以支持消息完成状态
在 `CyberCommClient` 和 `CyberCommServer` 相关类中,修改了 `MessageReceived` 事件的调用,添加了 `EndOfMessage` 参数以指示消息是否已发送完成。同时,更新了构造函数以支持新的参数,并去掉了不必要的 `endOfMessage` 参数,确保在处理异常时的参数传递更加清晰。
e4275a2
代码差异
7 个文件
+16
-21
@@ -110,11 +110,11 @@ public class CyberCommClient
110
110
if (receiveResult.MessageType == WebSocketMessageType.Text)
111
111
{
112
112
var receivedMessage = Encoding.UTF8.GetString(receivedBinaryBuffer);
113
MessageReceived?.Invoke(this, new CyberCommClientEventArgsImpl(ClientWebSocket, receivedMessage));
113
MessageReceived?.Invoke(this, new CyberCommClientEventArgsImpl(ClientWebSocket, receivedMessage, receiveResult.EndOfMessage));
114
114
}
115
115
if (receiveResult.MessageType == WebSocketMessageType.Binary)
116
116
{
117
MessageReceived?.Invoke(this, new CyberCommClientEventArgsImpl(ClientWebSocket, receivedBinaryBuffer));
117
MessageReceived?.Invoke(this, new CyberCommClientEventArgsImpl(ClientWebSocket, receivedBinaryBuffer, receiveResult.EndOfMessage));
118
118
}
119
119
if (receiveResult.MessageType == WebSocketMessageType.Close)
120
120
{
@@ -11,7 +11,8 @@ namespace XFEExtension.NetCore.CyberComm;
11
11
/// <param name="TextMessage"> 文本消息 </param>
12
12
/// <param name="Exception"> 异常消息(如果有的话) </param>
13
13
/// <param name="BinaryMessage"> 二进制消息 </param>
14
public abstract record CyberCommClientEventArgs(BackMessageType MessageType, ClientWebSocket CurrentWebSocket, string? TextMessage, XFECyberCommException? Exception, byte[]? BinaryMessage)
14
/// <param name="EndOfMessage">是否发送完成</param>
15
public abstract record CyberCommClientEventArgs(BackMessageType MessageType, ClientWebSocket CurrentWebSocket, string? TextMessage, XFECyberCommException? Exception, byte[]? BinaryMessage, bool EndOfMessage)
15
16
{
16
17
/// <summary>
17
18
/// 发送文本消息
@@ -46,13 +47,13 @@ public abstract record CyberCommClientEventArgs(BackMessageType MessageType, Cli
46
47
throw new XFECyberCommException("关闭客户端连接时出现异常", ex);
47
48
}
48
49
}
49
internal CyberCommClientEventArgs(ClientWebSocket clientWebSocket, string message) : this(BackMessageType.Text, clientWebSocket, message, null, null)
50
internal CyberCommClientEventArgs(ClientWebSocket clientWebSocket, string message, bool endOfMessage) : this(BackMessageType.Text, clientWebSocket, message, null, null, endOfMessage)
50
51
{
51
52
}
52
internal CyberCommClientEventArgs(ClientWebSocket clientWebSocket, byte[] bytes) : this(BackMessageType.Binary, clientWebSocket, null, null, bytes)
53
internal CyberCommClientEventArgs(ClientWebSocket clientWebSocket, byte[] bytes, bool endOfMessage) : this(BackMessageType.Binary, clientWebSocket, null, null, bytes, endOfMessage)
53
54
{
54
55
}
55
internal CyberCommClientEventArgs(ClientWebSocket clientWebSocket, XFECyberCommException ex) : this(BackMessageType.Error, clientWebSocket, null, ex, null)
56
internal CyberCommClientEventArgs(ClientWebSocket clientWebSocket, XFECyberCommException ex) : this(BackMessageType.Error, clientWebSocket, null, ex, null, true)
56
57
{
57
58
}
58
59
}
@@ -4,7 +4,7 @@ namespace XFEExtension.NetCore.CyberComm;
4
4
5
5
record class CyberCommClientEventArgsImpl : CyberCommClientEventArgs
6
6
{
7
internal CyberCommClientEventArgsImpl(ClientWebSocket clientWebSocket, string message) : base(clientWebSocket, message) { }
8
internal CyberCommClientEventArgsImpl(ClientWebSocket clientWebSocket, byte[] bytes) : base(clientWebSocket, bytes) { }
7
internal CyberCommClientEventArgsImpl(ClientWebSocket clientWebSocket, string message, bool endOfMessage) : base(clientWebSocket, message, endOfMessage) { }
8
internal CyberCommClientEventArgsImpl(ClientWebSocket clientWebSocket, byte[] bytes, bool endOfMessage) : base(clientWebSocket, bytes, endOfMessage) { }
9
9
internal CyberCommClientEventArgsImpl(ClientWebSocket clientWebSocket, XFECyberCommException ex) : base(clientWebSocket, ex) { }
10
10
}
@@ -147,7 +147,7 @@ public class CyberCommServer
147
147
}
148
148
catch (Exception ex)
149
149
{
150
MessageReceived?.Invoke(this, new CyberCommServerEventArgsImpl(requestURL, webSocket, new XFECyberCommException("与客户端端通讯期间发生异常", ex), clientIP, wsHeader, true));
150
MessageReceived?.Invoke(this, new CyberCommServerEventArgsImpl(requestURL, webSocket, new XFECyberCommException("与客户端端通讯期间发生异常", ex), clientIP, wsHeader));
151
151
break;
152
152
}
153
153
}
@@ -89,7 +89,7 @@ public abstract record CyberCommServerEventArgs(Uri? RequestURL, BackMessageType
89
89
internal CyberCommServerEventArgs(Uri? requestURL, WebSocket webSocket, byte[] bytes, string ipAddress, NameValueCollection wsHeader, bool endOfMessage) : this(requestURL, BackMessageType.Binary, webSocket, wsHeader, null, ipAddress, null, bytes, endOfMessage)
90
90
{
91
91
}
92
internal CyberCommServerEventArgs(Uri? requestURL, WebSocket webSocket, XFECyberCommException ex, string ipAddress, NameValueCollection wsHeader, bool endOfMessage) : this(requestURL, BackMessageType.Error, webSocket, wsHeader, ex, ipAddress, null, null, endOfMessage)
92
internal CyberCommServerEventArgs(Uri? requestURL, WebSocket webSocket, XFECyberCommException ex, string ipAddress, NameValueCollection wsHeader) : this(requestURL, BackMessageType.Error, webSocket, wsHeader, ex, ipAddress, null, null, true)
93
93
{
94
94
}
95
95
}
@@ -7,5 +7,5 @@ record class CyberCommServerEventArgsImpl : CyberCommServerEventArgs
7
7
{
8
8
internal CyberCommServerEventArgsImpl(Uri? requestURL, WebSocket webSocket, string message, string ipAddress, NameValueCollection wsHeader, bool endOfMessage) : base(requestURL, webSocket, message, ipAddress, wsHeader, endOfMessage) { }
9
9
internal CyberCommServerEventArgsImpl(Uri? requestURL, WebSocket webSocket, byte[] bytes, string ipAddress, NameValueCollection wsHeader, bool endOfMessage) : base(requestURL, webSocket, bytes, ipAddress, wsHeader, endOfMessage) { }
10
internal CyberCommServerEventArgsImpl(Uri? requestURL, WebSocket webSocket, XFECyberCommException ex, string ipAddress, NameValueCollection wsHeader, bool endOfMessage) : base(requestURL, webSocket, ex, ipAddress, wsHeader, endOfMessage) { }
10
internal CyberCommServerEventArgsImpl(Uri? requestURL, WebSocket webSocket, XFECyberCommException ex, string ipAddress, NameValueCollection wsHeader) : base(requestURL, webSocket, ex, ipAddress, wsHeader) { }
11
11
}
@@ -5,7 +5,7 @@
5
5
<ImplicitUsings>enable</ImplicitUsings>
6
6
<Nullable>enable</Nullable>
7
7
<GenerateDocumentationFile>True</GenerateDocumentationFile>
8
<Version>3.3.3</Version>
8
<Version>3.3.4</Version>
9
9
<Title>XFEExtension</Title>
10
10
<RepositoryUrl>https://github.com/XFEstudio/XFEExtension</RepositoryUrl>
11
11
<AnalysisLevel>latest</AnalysisLevel>
@@ -21,15 +21,9 @@
21
21
<PackageReleaseNotes>
22
22
## 调整
23
23
24
增强事件参数以支持消息结束状态
25
26
在 `CyberCommServer.cs` 中,`ClientConnected`、`MessageReceived` 和 `ConnectionClosed` 事件调用中新增了 `bool` 类型的 `endOfMessage` 参数,以指示消息是否结束。
27
28
在 `CyberCommServerEventArgs.cs` 中,更新了 `CyberCommServerEventArgs` 记录类型的构造函数,新增了 `endOfMessage` 参数。
29
30
在 `CyberCommServerEventArgsImpl.cs` 中,修改了 `CyberCommServerEventArgsImpl` 类的构造函数,以支持新的 `endOfMessage` 参数。
31
32
更新项目文件 `XFEExtension.NetCore.csproj` 中的版本号,从 `3.3.2` 升级到 `3.3.3`。
24
更新事件参数以支持消息完成状态
25
26
在 `CyberCommClient` 和 `CyberCommServer` 相关类中,修改了 `MessageReceived` 事件的调用,添加了 `EndOfMessage` 参数以指示消息是否已发送完成。同时,更新了构造函数以支持新的参数,并去掉了不必要的 `endOfMessage` 参数,确保在处理异常时的参数传递更加清晰。
33
27
34
28
## 新增
35
29