using System;
namespace Curtain.Net.Sockets.PLC
{
///
/// 服务端事件消息类型
///
[Flags]
public enum ServerMessageType
{
///
/// 错误异常
///
Error = 1,
///
/// 警告
///
Warning = 2,
///
/// 跟踪
///
Trace = 4,
///
/// 调试
///
Debug = 8,
}
///
/// 服务端消息事件
///
///
///
public delegate void ServerMessageEventHandler(object sender, ServerMessageEventArgs e);
///
/// 服务端消息事件参数
///
[Serializable]
public sealed class ServerMessageEventArgs : EventArgs
{
///
/// 消息类型
///
public ServerMessageType Type
{
get;
internal set;
}
///
/// Socket客户端
///
public ClientSession Client
{
get;
internal set;
}
///
/// Socket服务端
///
public ServerSession Server
{
get;
internal set;
}
///
/// 消息代码
///
public string Code
{
get;
internal set;
}
///
/// 消息内容
///
public string Message
{
get;
internal set;
}
///
/// 系统异常信息
///
public Exception Exception
{
get;
internal set;
}
///
/// 服务端消息事件参数
///
public ServerMessageEventArgs()
{
}
///
/// ToString
///
///
public override string ToString()
{
return $"{{Code:{Code},Message:{Message},Type:{Type},Client:{Client},Server:{Server},Exception:{Exception} }}";
}
}
}