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

XFEExtension

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

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

XFEstudio/XFEExtension

添加更细致的错误捕捉机制

171a570
XFE工作室室长 <xfe18827675401@126.com>
提交于

代码差异

1 个文件 +44 -29
Modified XFE各类拓展/CyberComm.cs +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)