XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFE各类拓展/CyberComm.cs
+50
-8
XFEstudio/XFEExtension
XCC现在可以查看明文发送的时间
f4f5435
代码差异
1 个文件
+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
{