merge到master
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user