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

XFEExtension

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

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

XFEstudio/XFEExtension

XCC现在可以查看明文发送的时间

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

代码差异

1 个文件 +50 -8
Modified XFE各类拓展/CyberComm.cs +50 -8
@@ -881,7 +881,15 @@ namespace XFE各类拓展.CyberComm
881 881 /// <summary>
882 882 /// 文本消息
883 883 /// </summary>
884 Text
884 Text,
885 /// <summary>
886 /// 图片消息
887 /// </summary>
888 Image,
889 /// <summary>
890 /// 历史消息
891 /// </summary>
892 History
885 893 }
886 894 class XCCNetWorkBase
887 895 {
@@ -1100,8 +1108,30 @@ namespace XFE各类拓展.CyberComm
1100 1108 {
1101 1109 var receivedMessage = Encoding.UTF8.GetString(receivedBinaryBuffer);
1102 1110 var unPackedMessage = receivedMessage.ToXFEArray<string>();
1103 await Console.Out.WriteLineAsync(unPackedMessage.Length.ToString());
1104 workBase.textMessageReceived?.Invoke(this, new XCCTextMessageReceivedEventArgsImpl(this, ClientWebSocket, unPackedMessage[2], unPackedMessage[0], XCCTextMessageType.Text, unPackedMessage[1]));
1111 var sender = unPackedMessage[3];
1112 var sendTime = DateTime.Parse(unPackedMessage[4]);
1113 var messageId = unPackedMessage[0];
1114 var signature = unPackedMessage[1];
1115 var message = unPackedMessage[2];
1116 var messageType = XCCTextMessageType.Text;
1117 switch (signature)
1118 {
1119 case "[XCCTextMessage]":
1120 messageType = XCCTextMessageType.Text;
1121 break;
1122
1123 case "[XCCImage]":
1124 messageType = XCCTextMessageType.Image;
1125 break;
1126
1127 case "[XCCGetHistory]":
1128 messageType = XCCTextMessageType.History;
1129 break;
1130
1131 default:
1132 break;
1133 }
1134 workBase.textMessageReceived?.Invoke(this, new XCCTextMessageReceivedEventArgsImpl(this, ClientWebSocket, sender, messageId, sendTime, messageType, message));
1105 1135 }
1106 1136 catch (Exception ex)
1107 1137 {
@@ -1193,7 +1223,7 @@ namespace XFE各类拓展.CyberComm
1193 1223 {
1194 1224 try
1195 1225 {
1196 byte[] sendBuffer = Encoding.UTF8.GetBytes(new string[] { messageId, message }.ToXFEString());
1226 byte[] sendBuffer = Encoding.UTF8.GetBytes(new string[] { messageId, "[XCCTextMessage]", message }.ToXFEString());
1197 1227 await ClientWebSocket.SendAsync(new ArraySegment<byte>(sendBuffer), WebSocketMessageType.Text, true, CancellationToken.None);
1198 1228 var endTask = Task.Run(async () =>
1199 1229 {
@@ -1335,12 +1365,19 @@ namespace XFE各类拓展.CyberComm
1335 1365 /// 获取历史记录
1336 1366 /// </summary>
1337 1367 /// <exception cref="XFECyberCommException"></exception>
1338 public async Task GetHistory()
1368 public async Task<bool> GetHistory()
1339 1369 {
1340 1370 try
1341 1371 {
1342 byte[] sendBuffer = Encoding.UTF8.GetBytes("[XCCGetHistory]");
1372 var messageId = Guid.NewGuid().ToString();
1373 byte[] sendBuffer = Encoding.UTF8.GetBytes(new string[] { messageId, "[XCCGetHistory]", "[XCCGetHistory]" }.ToXFEString());
1343 1374 await ClientWebSocket.SendAsync(new ArraySegment<byte>(sendBuffer), WebSocketMessageType.Text, true, CancellationToken.None);
1375 var endTask = Task.Run(async () =>
1376 {
1377 await Task.Delay(5000);
1378 UpdateTaskTrigger?.Invoke(false, messageId);
1379 });
1380 return await new XFEWaitTask<bool>(ref UpdateTaskTrigger, messageId);
1344 1381 }
1345 1382 catch (Exception ex)
1346 1383 {
@@ -1483,10 +1520,15 @@ namespace XFE各类拓展.CyberComm
1483 1520 /// 文本消息
1484 1521 /// </summary>
1485 1522 public string TextMessage { get; }
1486 internal XCCTextMessageReceivedEventArgs(XCCGroup group, ClientWebSocket clientWebSocket, string sender, string messageId, XCCTextMessageType messageType, string message) : base(group, clientWebSocket, sender, messageId)
1523 /// <summary>
1524 /// 发送时间
1525 /// </summary>
1526 public DateTime SendTime { get; }
1527 internal XCCTextMessageReceivedEventArgs(XCCGroup group, ClientWebSocket clientWebSocket, string sender, string messageId, DateTime sendTime, XCCTextMessageType messageType, string message) : base(group, clientWebSocket, sender, messageId)
1487 1528 {
1488 1529 MessageType = messageType;
1489 1530 TextMessage = message;
1531 SendTime = sendTime;
1490 1532 }
1491 1533
1492 1534 }
@@ -1585,7 +1627,7 @@ namespace XFE各类拓展.CyberComm
1585 1627 }
1586 1628 class XCCTextMessageReceivedEventArgsImpl : XCCTextMessageReceivedEventArgs
1587 1629 {
1588 internal XCCTextMessageReceivedEventArgsImpl(XCCGroup group, ClientWebSocket clientWebSocket, string sender, string messageId, XCCTextMessageType messageType, string message) : base(group, clientWebSocket, sender, messageId, messageType, message) { }
1630 internal XCCTextMessageReceivedEventArgsImpl(XCCGroup group, ClientWebSocket clientWebSocket, string sender, string messageId, DateTime sendTime, XCCTextMessageType messageType, string message) : base(group, clientWebSocket, sender, messageId, sendTime, messageType, message) { }
1589 1631 }
1590 1632 class XCCBinaryMessageReceivedEventArgsImpl : XCCBinaryMessageReceivedEventArgs
1591 1633 {