XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFE各类拓展/BufferExtension.cs
+10
-5
Modified
XFE各类拓展/CyberComm.cs
+4
-3
XFEstudio/XFEExtension
修复XFEBuffer协议解析的bug
adaec64
代码差异
2 个文件
+14
-8
@@ -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>
@@ -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
{