XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension

【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEExtension

添加 BufferLength 属性以动态调整缓冲区大小

在 `CyberCommClient.cs` 和 `CyberCommServer.cs` 文件中,新增公共属性 `BufferLength`,默认值为 1024,用于定义字节流缓冲区的长度。接收数据的缓冲区大小从固定的 1024 字节改为使用 `BufferLength` 属性,以便根据需要动态调整缓冲区的大小。

a757410
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

3 个文件 +14 -6
Modified XFEExtension.NetCore/CyberComm/CyberCommClient.cs +5 -1
@@ -27,6 +27,10 @@ public class CyberCommClient
27 27 /// </summary>
28 28 public int ReconnectMaxTimes { get; set; } = -1;
29 29 /// <summary>
30 /// 字节流缓冲区长度
31 /// </summary>
32 public int BufferLength { get; set; } = 1024;
33 /// <summary>
30 34 /// 自动重连尝试间隔
31 35 /// </summary>
32 36 public int ReconnectTryDelay { get; set; } = 100;
@@ -93,7 +97,7 @@ public class CyberCommClient
93 97 {
94 98 try
95 99 {
96 byte[] receiveBuffer = new byte[1024];
100 byte[] receiveBuffer = new byte[BufferLength];
97 101 WebSocketReceiveResult receiveResult = await ClientWebSocket.ReceiveAsync(new ArraySegment<byte>(receiveBuffer), CancellationToken.None);
98 102 var bufferList = new List<byte>();
99 103 bufferList.AddRange(receiveBuffer.Take(receiveResult.Count));
Modified XFEExtension.NetCore/CyberComm/CyberCommServer.cs +5 -1
@@ -13,6 +13,10 @@ public class CyberCommServer
13 13 private readonly string[] serverURLs;
14 14 #region 公共属性
15 15 /// <summary>
16 /// 字节流缓冲区长度
17 /// </summary>
18 public int BufferLength { get; set; } = 1024;
19 /// <summary>
16 20 /// 服务器正在运行
17 21 /// </summary>
18 22 public bool ServerRunning { get; set; }
@@ -116,7 +120,7 @@ public class CyberCommServer
116 120 {
117 121 try
118 122 {
119 byte[] receiveBuffer = new byte[1024];
123 byte[] receiveBuffer = new byte[BufferLength];
120 124 WebSocketReceiveResult receiveResult = await webSocket.ReceiveAsync(new ArraySegment<byte>(receiveBuffer), CancellationToken.None);
121 125 //ReceiveCompletedMessageByUsingWhile
122 126 var bufferList = new List<byte>();
Modified XFEExtension.NetCore/XFEExtension.NetCore.csproj +4 -4
@@ -5,7 +5,7 @@
5 5 <ImplicitUsings>enable</ImplicitUsings>
6 6 <Nullable>enable</Nullable>
7 7 <GenerateDocumentationFile>True</GenerateDocumentationFile>
8 <Version>3.3.4</Version>
8 <Version>3.3.5</Version>
9 9 <Title>XFEExtension</Title>
10 10 <RepositoryUrl>https://github.com/XFEstudio/XFEExtension</RepositoryUrl>
11 11 <AnalysisLevel>latest</AnalysisLevel>
@@ -21,9 +21,9 @@
21 21 <PackageReleaseNotes>
22 22 ## 调整
23 23
24 更新事件参数以支持消息完成状态
25
26 在 `CyberCommClient` 和 `CyberCommServer` 相关类中,修改了 `MessageReceived` 事件的调用,添加了 `EndOfMessage` 参数以指示消息是否已发送完成。同时,更新了构造函数以支持新的参数,并去掉了不必要的 `endOfMessage` 参数,确保在处理异常时的参数传递更加清晰。
24 添加 BufferLength 属性以动态调整缓冲区大小
25
26 在 `CyberCommClient.cs` 和 `CyberCommServer.cs` 文件中,新增公共属性 `BufferLength`,默认值为 1024,用于定义字节流缓冲区的长度。接收数据的缓冲区大小从固定的 1024 字节改为使用 `BufferLength` 属性,以便根据需要动态调整缓冲区的大小。
27 27
28 28 ## 新增
29 29