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

XFEExtension

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

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

XFEstudio/XFEExtension

修复XFEBuffer协议解析的bug

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

代码差异

2 个文件 +14 -8
Modified XFE各类拓展/BufferExtension.cs +10 -5
@@ -139,14 +139,14 @@ namespace XFE各类拓展
139 139 /// <returns></returns>
140 140 public static byte[] PackBuffer(this List<byte[]> buffers)
141 141 {
142 var xFEBuffer = new List<byte>();
142 var packedBuffer = new List<byte>();
143 143 for (int i = 0; i < buffers.Count; i++)
144 144 {
145 145 if (i != 0 && i != buffers.Count - 1)
146 xFEBuffer.AddRange(new List<byte> { 0x01, 0x02, 0x03 });
147 xFEBuffer.AddRange(buffers[i].Replace(new byte[] { 0x02, 0x03 }, new byte[] { 0x02, 0x02, 0x03 }).ToList());
146 packedBuffer.AddRange(new List<byte> { 0x01, 0x02, 0x03 });
147 packedBuffer.AddRange(buffers[i].Replace(new byte[] { 0x02, 0x03 }, new byte[] { 0x02, 0x02, 0x03 }).ToList());
148 148 }
149 return xFEBuffer.ToArray();
149 return packedBuffer.ToArray();
150 150 }
151 151 /// <summary>
152 152 /// 为Buffer添加头部并封装为XFEBuffer
@@ -171,7 +171,12 @@ namespace XFE各类拓展
171 171 /// <returns></returns>
172 172 public static List<byte[]> UnPackBuffer(this byte[] buffer)
173 173 {
174 return buffer.Split(new byte[] { 0x01, 0x02, 0x03 });
174 var unPackedBuffers = buffer.Split(new byte[] { 0x01, 0x02, 0x03 });
175 foreach (var unPackedBuffer in unPackedBuffers)
176 {
177 unPackedBuffer.Replace(new byte[] { 0x02, 0x02, 0x03 }, new byte[] { 0x02, 0x03 });
178 }
179 return unPackedBuffers;
175 180 }
176 181 }
177 182 /// <summary>
Modified XFE各类拓展/CyberComm.cs +4 -3
@@ -8,6 +8,7 @@ using System.Net.WebSockets;
8 8 using System.Text;
9 9 using System.Threading;
10 10 using System.Threading.Tasks;
11 using XFE各类拓展.ArrayExtension;
11 12 using XFE各类拓展.FormatExtension;
12 13
13 14 namespace XFE各类拓展.CyberComm
@@ -1128,7 +1129,7 @@ namespace XFE各类拓展.CyberComm
1128 1129 {
1129 1130 try
1130 1131 {
1131 byte[] sendBuffer = Encoding.UTF8.GetBytes(message);
1132 byte[] sendBuffer = Encoding.UTF8.GetBytes(new XCCMessage(Sender, message).ToString());
1132 1133 await ClientWebSocket.SendAsync(new ArraySegment<byte>(sendBuffer), WebSocketMessageType.Text, true, CancellationToken.None);
1133 1134 }
1134 1135 catch (Exception ex)
@@ -1140,8 +1141,8 @@ namespace XFE各类拓展.CyberComm
1140 1141 {
1141 1142 try
1142 1143 {
1143 byte[] sendBuffer = Encoding.UTF8.GetBytes(message);
1144 await ClientWebSocket.SendAsync(new ArraySegment<byte>(sendBuffer), WebSocketMessageType.Binary, true, CancellationToken.None);
1144 XFEBuffer waitSendBuffer = new XFEBuffer(Sender, Encoding.UTF8.GetBytes(message));
1145 await ClientWebSocket.SendAsync(new ArraySegment<byte>(waitSendBuffer.ToBuffer()), WebSocketMessageType.Binary, true, CancellationToken.None);
1145 1146 }
1146 1147 catch (Exception ex)
1147 1148 {