Files
stormchat/Interact/Message.cs
T

73 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Interact
{
//定义一则用户接收到的消息
public class Message
{
public Message() { }
public Message(string text, User Receiver)
{
When = DateTime.Now;
From = User.Me;
To = Receiver;
Text = text;
}
/*保留
public const UInt32 MaxHeadLength = 4096; //最大包头长度
public const UInt32 MaxMessageLength = 0x6400000; //最大数据长度
*/
public DateTime When; //服务器接收时间
public User From; //消息发送者
public User To; //消息接收者
public string Text; //消息内容
//将消息保存到数据库(保留)
protected bool Save() { return false; }
}
//从服务器接收的原始数据封包
internal class Packet
{
public BaseHead Head; //包头
public byte[] Data; //包内容
public Action<ResultHead> CallBack; //数据发送完成的回调函数。注意,此时仅保证数据已发送,
//服务器可能并没有处理完成请求
}
//允许请求的操作列表。具体定义见设计文档
public static class Operations
{
public const string Panic = "Panic";
public const string TransMessage = "TransMessage";
public const string SendMessage = "SendMessage";
public const string Login = "Login2";
public const string Logout = "Logout";
public const string Offline = "Offline";
public const string UpdateUserInfo = "UpdateUserInfo";
public const string GetUsers = "GetUsers";
}
#region
//包头基本结构
public class BaseHead
{
//请求ID,由发送方定义的随机字符串。如果接受方有返回数据应包含相同的Token
public string Token;
//操作类型,决定数据的其他内容
public string Operation;
}
// 接受方返回的执行结果反馈包头,包含错误文本
public class ResultHead : BaseHead
{
//错误文本,为空则执行成功
public string Error;
}
//获取单一用户信息结果包头
#endregion
}