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

XFEExtension

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

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

XFEstudio/XFEExtension

为文件传输协议添加更多头标识信息,现在在传输文件的时候可以获取文件发送的时间和是否为历史文件

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

代码差异

2 个文件 +28 -10
Modified XFE各类拓展/XCCNetWork.cs +28 -6
@@ -421,8 +421,12 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
421 421 var xFEBuffer = XFEBuffer.ToXFEBuffer(receivedBinaryBuffer);
422 422 var sender = Encoding.UTF8.GetString(xFEBuffer["Sender"]);
423 423 var signature = Encoding.UTF8.GetString(xFEBuffer["Type"]);
424 if (signature == "callback")
425 return;
424 426 var messageId = Encoding.UTF8.GetString(xFEBuffer["ID"]);
425 byte[] unPackedBuffer = signature == "callback" ? null : xFEBuffer[sender];
427 bool isHistory = Encoding.UTF8.GetString(xFEBuffer["IsHistory"]) == "True";
428 var sendTime = DateTime.Parse(Encoding.UTF8.GetString(xFEBuffer["SendTime"]));
429 byte[] unPackedBuffer = xFEBuffer[sender];
426 430 switch (signature)
427 431 {
428 432 case "text":
@@ -447,7 +451,7 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
447 451 messageType = XCCBinaryMessageType.Binary;
448 452 break;
449 453 }
450 workBase.binaryMessageReceived?.Invoke(this, new XCCBinaryMessageReceivedEventArgsImpl(this, TextMessageClientWebSocket, FileTransportClientWebSocket, XCCClientType.FileTransportClient, sender, messageId, unPackedBuffer, messageType, signature));
454 workBase.binaryMessageReceived?.Invoke(this, new XCCBinaryMessageReceivedEventArgsImpl(this, TextMessageClientWebSocket, FileTransportClientWebSocket, XCCClientType.FileTransportClient, sender, messageId, unPackedBuffer, messageType, signature, sendTime, isHistory));
451 455 }
452 456 catch (Exception ex)
453 457 {
@@ -871,6 +875,12 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
871 875 if (File.Exists(filePath))
872 876 fileBuffer = File.ReadAllBytes(filePath);
873 877 XCCFile xCCFile;
878 if (xCCFileDictionary.ContainsKey(xCCMessage.MessageId))
879 {
880 if (!xCCFileDictionary[xCCMessage.MessageId].Loaded && fileBuffer != null)
881 xCCFileDictionary[xCCMessage.MessageId].LoadFile(fileBuffer);
882 return xCCFileDictionary[xCCMessage.MessageId];
883 }
874 884 switch (xCCMessage.MessageType)
875 885 {
876 886 case XCCTextMessageType.Image:
@@ -1027,8 +1037,10 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
1027 1037 default:
1028 1038 break;
1029 1039 }
1030 xCCFileDictionary.Add(e.MessageId, new XCCFile(e.GroupId, e.MessageId, fileType, e.Sender, null, e.BinaryMessage));
1031 FileReceived?.Invoke(e.)
1040 var xCCFile = new XCCFile(e.GroupId, e.MessageId, fileType, e.Sender, e.SendTime, e.BinaryMessage);
1041 xCCFileDictionary.Add(e.MessageId, xCCFile);
1042 if (!e.IsHistory)
1043 FileReceived?.Invoke(e.IsHistory, xCCFile);
1032 1044 }
1033 1045 }
1034 1046 /// <summary>
@@ -1388,11 +1400,21 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
1388 1400 /// 二进制消息
1389 1401 /// </summary>
1390 1402 public byte[] BinaryMessage { get; }
1391 internal XCCBinaryMessageReceivedEventArgs(XCCGroup group, ClientWebSocket textMessageClientWebSocket, ClientWebSocket fileTransportClientWebSocket, XCCClientType xCCClientType, string sender, string messageId, byte[] buffer, XCCBinaryMessageType messageType, string signature) : base(group, textMessageClientWebSocket, fileTransportClientWebSocket, xCCClientType, sender, messageId)
1403 /// <summary>
1404 /// 发送时间
1405 /// </summary>
1406 public DateTime SendTime { get; }
1407 /// <summary>
1408 /// 是否为历史消息
1409 /// </summary>
1410 public bool IsHistory { get; }
1411 internal XCCBinaryMessageReceivedEventArgs(XCCGroup group, ClientWebSocket textMessageClientWebSocket, ClientWebSocket fileTransportClientWebSocket, XCCClientType xCCClientType, string sender, string messageId, byte[] buffer, XCCBinaryMessageType messageType, string signature, DateTime sendTime, bool isHistory) : base(group, textMessageClientWebSocket, fileTransportClientWebSocket, xCCClientType, sender, messageId)
1392 1412 {
1393 1413 BinaryMessage = buffer;
1394 1414 MessageType = messageType;
1395 1415 Signature = signature;
1416 SendTime = sendTime;
1417 IsHistory = isHistory;
1396 1418 }
1397 1419 }
1398 1420 /// <summary>
@@ -1492,7 +1514,7 @@ namespace XFE各类拓展.CyberComm.XCCNetWork
1492 1514 }
1493 1515 class XCCBinaryMessageReceivedEventArgsImpl : XCCBinaryMessageReceivedEventArgs
1494 1516 {
1495 internal XCCBinaryMessageReceivedEventArgsImpl(XCCGroup group, ClientWebSocket textMessageClientWebSocket, ClientWebSocket fileTransportClientWebSocket, XCCClientType xCCClientType, string sender, string messageId, byte[] buffer, XCCBinaryMessageType messageType, string signature) : base(group, textMessageClientWebSocket, fileTransportClientWebSocket, xCCClientType, sender, messageId, buffer, messageType, signature) { }
1517 internal XCCBinaryMessageReceivedEventArgsImpl(XCCGroup group, ClientWebSocket textMessageClientWebSocket, ClientWebSocket fileTransportClientWebSocket, XCCClientType xCCClientType, string sender, string messageId, byte[] buffer, XCCBinaryMessageType messageType, string signature, DateTime sendTime, bool isHistory) : base(group, textMessageClientWebSocket, fileTransportClientWebSocket, xCCClientType, sender, messageId, buffer, messageType, signature, sendTime, isHistory) { }
1496 1518 }
1497 1519 class XCCExceptionMessageReceivedEventArgsImpl : XCCExceptionMessageReceivedEventArgs
1498 1520 {
Modified XFE各类拓展/XFEChatGPT.cs +0 -4
@@ -67,22 +67,18 @@ namespace XFE各类拓展.XFEChatGPT
67 67 /// <summary>
68 68 /// 比任何 GPT-3.5 型号都更强大,能够执行更复杂的任务,并针对聊天进行了优化。将在发布 2 周后使用我们最新的模型迭代进行更新。
69 69 /// </summary>
70 [Obsolete("该模型暂时不可使用", true)]
71 70 gpt4,
72 71 /// <summary>
73 72 /// 13 年 2023 月 3 日带有函数调用数据的快照。与gpt-4不同,此模型不会收到更新,并将在新版本发布3个月后弃用。基于gpt-4
74 73 /// </summary>
75 [Obsolete("该模型暂时不可使用", true)]
76 74 gpt40613,
77 75 /// <summary>
78 76 /// 功能与gpt4基本模型相同,但上下文长度是其 4 倍。将使用最新的模型迭代进行更新。基于gpt-4
79 77 /// </summary>
80 [Obsolete("该模型暂时不可使用", true)]
81 78 gpt432k,
82 79 /// <summary>
83 80 /// 13 年 2023 月 3 日的快照。与GPT-4-32K不同,此模型不会收到更新,并将在新版本发布 3 个月后弃用。基于gpt-4-32k
84 81 /// </summary>
85 [Obsolete("该模型暂时不可使用", true)]
86 82 gpt432k0613,
87 83 /// <summary>
88 84 /// 功能最强大的 GPT-3.5 型号,针对聊天进行了优化,成本仅为 .将在发布 1 周后使用最新的模型迭代进行更新。