XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFE各类拓展/XCCNetWork.cs
+15
-41
XFEstudio/XFEExtension
适配双服系统
a21c9a3
代码差异
1 个文件
+15
-41
@@ -299,6 +299,21 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
299
299
workBase.exceptionMessageReceived?.Invoke(this, new XCCExceptionMessageReceivedEventArgsImpl(this, TextMessageClientWebSocket, FileTransportClientWebSocket, XCCClientType.TextMessageClient, null, null, new XFECyberCommException("接收XCC服务器消息时发生异常", ex)));
300
300
}
301
301
}
302
else if (receiveResult.MessageType == WebSocketMessageType.Binary)
303
{
304
try
305
{
306
var xFEBuffer = XFEBuffer.ToXFEBuffer(receivedBinaryBuffer);
307
var signature = Encoding.UTF8.GetString(xFEBuffer["Type"]);
308
var messageId = Encoding.UTF8.GetString(xFEBuffer["ID"]);
309
if (signature == "callback")
310
UpdateTaskTrigger?.Invoke(true, messageId);
311
}
312
catch (Exception ex)
313
{
314
workBase.exceptionMessageReceived?.Invoke(this, new XCCExceptionMessageReceivedEventArgsImpl(this, TextMessageClientWebSocket, FileTransportClientWebSocket, XCCClientType.TextMessageClient, null, null, new XFECyberCommException("接收XCC服务器消息时发生异常", ex)));
315
}
316
}
302
317
}
303
318
catch (Exception ex)
304
319
{
@@ -388,47 +403,6 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
388
403
bufferList.AddRange(receiveBuffer.Take(receiveResult.Count));
389
404
}
390
405
var receivedBinaryBuffer = bufferList.ToArray();
391
if (receiveResult.MessageType == WebSocketMessageType.Text)
392
{
393
try
394
{
395
var receivedMessage = Encoding.UTF8.GetString(receivedBinaryBuffer);
396
var isHistory = receivedMessage.IndexOf("[XCCGetHistory]") == 0;
397
if (isHistory)
398
{
399
receivedMessage = receivedMessage.Substring(15);
400
}
401
var unPackedMessage = receivedMessage.ToXFEArray<string>();
402
var messageId = unPackedMessage[0];
403
var signature = unPackedMessage[1];
404
var message = unPackedMessage[2];
405
var senderName = unPackedMessage[3];
406
var sendTime = DateTime.Parse(unPackedMessage[4]);
407
var messageType = XCCTextMessageType.Text;
408
switch (signature)
409
{
410
case "[XCCTextMessage]":
411
messageType = XCCTextMessageType.Text;
412
break;
413
case "[XCCImage]":
414
messageType = XCCTextMessageType.Image;
415
break;
416
case "[XCCAudio]":
417
messageType = XCCTextMessageType.Audio;
418
break;
419
case "[XCCVideo]":
420
messageType = XCCTextMessageType.Video;
421
break;
422
default:
423
break;
424
}
425
workBase.textMessageReceived?.Invoke(this, new XCCTextMessageReceivedEventArgsImpl(this, TextMessageClientWebSocket, FileTransportClientWebSocket, XCCClientType.FileTransportClient, messageId, messageType, message, senderName, sendTime, isHistory));
426
}
427
catch (Exception ex)
428
{
429
workBase.exceptionMessageReceived?.Invoke(this, new XCCExceptionMessageReceivedEventArgsImpl(this, TextMessageClientWebSocket, FileTransportClientWebSocket, XCCClientType.FileTransportClient, null, null, new XFECyberCommException("接收XCC服务器消息时发生异常", ex)));
430
}
431
}
432
406
if (receiveResult.MessageType == WebSocketMessageType.Binary)
433
407
{
434
408
try