XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFE各类拓展/CyberComm.cs
+44
-29
XFEstudio/XFEExtension
添加更细致的错误捕捉机制
171a570
代码差异
1 个文件
+44
-29
@@ -9,6 +9,7 @@ using System.Text;
9
9
using System.Threading;
10
10
using System.Threading.Tasks;
11
11
using XFE各类拓展.ArrayExtension;
12
using XFE各类拓展.ArrayExtension.AI;
12
13
using XFE各类拓展.BufferExtension;
13
14
using XFE各类拓展.FormatExtension;
14
15
using XFE各类拓展.TaskExtension;
@@ -1096,40 +1097,54 @@ namespace XFE各类拓展.CyberComm
1096
1097
var receivedBinaryBuffer = bufferList.ToArray();
1097
1098
if (receiveResult.MessageType == WebSocketMessageType.Text)
1098
1099
{
1099
var receivedMessage = Encoding.UTF8.GetString(receivedBinaryBuffer);
1100
var unPackedMessage = receivedMessage.ToXFEArray<string>();
1101
workBase.textMessageReceived?.Invoke(this, new XCCTextMessageReceivedEventArgsImpl(this, ClientWebSocket, unPackedMessage[2], unPackedMessage[0], XCCTextMessageType.Text, unPackedMessage[1]));
1100
try
1101
{
1102
var receivedMessage = Encoding.UTF8.GetString(receivedBinaryBuffer);
1103
var unPackedMessage = receivedMessage.ToXFEArray<string>();
1104
workBase.textMessageReceived?.Invoke(this, new XCCTextMessageReceivedEventArgsImpl(this, ClientWebSocket, unPackedMessage[2], unPackedMessage[0], XCCTextMessageType.Text, unPackedMessage[1]));
1105
}
1106
catch (Exception ex)
1107
{
1108
workBase.exceptionMessageReceived?.Invoke(this, new XCCExceptionMessageReceivedEventArgsImpl(this, ClientWebSocket, null, null, new XFECyberCommException("接收XCC服务器消息时发生异常", ex)));
1109
}
1102
1110
}
1103
1111
if (receiveResult.MessageType == WebSocketMessageType.Binary)
1104
1112
{
1105
var messageType = XCCBinaryMessageType.Binary;
1106
var xFEBuffer = XFEBuffer.ToXFEBuffer(receivedBinaryBuffer);
1107
var sender = Encoding.UTF8.GetString(xFEBuffer["Sender"]);
1108
await Console.Out.WriteLineAsync(sender);
1109
var signature = Encoding.UTF8.GetString(xFEBuffer["Type"]);
1110
await Console.Out.WriteLineAsync(signature);
1111
var messageId = Encoding.UTF8.GetString(xFEBuffer["ID"]);
1112
await Console.Out.WriteLineAsync(messageId);
1113
var unPackedBuffer = xFEBuffer[sender];
1114
switch (signature)
1113
try
1114
{
1115
var messageType = XCCBinaryMessageType.Binary;
1116
var xFEBuffer = XFEBuffer.ToXFEBuffer(receivedBinaryBuffer);
1117
var sender = Encoding.UTF8.GetString(xFEBuffer["Sender"]);
1118
Console.WriteLine(sender);
1119
var signature = Encoding.UTF8.GetString(xFEBuffer["Type"]);
1120
Console.WriteLine(signature);
1121
var messageId = Encoding.UTF8.GetString(xFEBuffer["ID"]);
1122
Console.WriteLine(messageId);
1123
var unPackedBuffer = xFEBuffer[sender];
1124
switch (signature)
1125
{
1126
case "text":
1127
messageType = XCCBinaryMessageType.Text;
1128
break;
1129
case "image":
1130
messageType = XCCBinaryMessageType.Image;
1131
break;
1132
case "audio":
1133
messageType = XCCBinaryMessageType.Audio;
1134
break;
1135
case "callback":
1136
UpdateTaskTrigger.Invoke(true, messageId);
1137
continue;
1138
default:
1139
messageType = XCCBinaryMessageType.Binary;
1140
break;
1141
}
1142
workBase.binaryMessageReceived?.Invoke(this, new XCCBinaryMessageReceivedEventArgsImpl(this, ClientWebSocket, sender, messageId, unPackedBuffer, messageType, signature));
1143
}
1144
catch (Exception ex)
1115
1145
{
1116
case "text":
1117
messageType = XCCBinaryMessageType.Text;
1118
break;
1119
case "image":
1120
messageType = XCCBinaryMessageType.Image;
1121
break;
1122
case "audio":
1123
messageType = XCCBinaryMessageType.Audio;
1124
break;
1125
case "callback":
1126
UpdateTaskTrigger.Invoke(true, messageId);
1127
continue;
1128
default:
1129
messageType = XCCBinaryMessageType.Binary;
1130
break;
1146
workBase.exceptionMessageReceived?.Invoke(this, new XCCExceptionMessageReceivedEventArgsImpl(this, ClientWebSocket, null, null, new XFECyberCommException("接收XCC服务器消息时发生异常", ex)));
1131
1147
}
1132
workBase.binaryMessageReceived?.Invoke(this, new XCCBinaryMessageReceivedEventArgsImpl(this, ClientWebSocket, sender, messageId, unPackedBuffer, messageType, signature));
1133
1148
}
1134
1149
}
1135
1150
catch (Exception ex)