1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace MECF.Framework.Common.Net
- {
- /// <summary>
- /// 本系统的消息类,包含了各种解析规则,数据信息提取规则
- /// </summary>
- public interface INetMessage<T>
- {
- /// <summary>
- /// 消息头的指令长度
- /// </summary>
- int ProtocolHeadBytesLength { get; }
- /// <summary>
- /// 手动设置消息头指令长度
- /// </summary>
- void SetProtocolHeadBytesLength();
- /// <summary>
- /// 从当前的头子节文件中提取出接下来需要接收的数据长度
- /// </summary>
- /// <returns>返回接下来的数据内容长度</returns>
- int GetContentLengthByHeadBytes();
- /// <summary>
- /// 检查头子节的合法性
- /// </summary>
- /// <param name="token">特殊的令牌,有些特殊消息的验证</param>
- /// <returns>是否成功的结果</returns>
- bool CheckHeadBytesLegal();
- /// <summary>
- /// 检查数据合法性
- /// </summary>
- /// <returns></returns>
- bool CheckDataLegal();
- /// <summary>
- /// 确认返回结果
- /// </summary>
- /// <returns></returns>
- bool ConfirmResponseResult();
- /// <summary>
- /// 获取头子节里的消息标识
- /// </summary>
- /// <returns>消息标识</returns>
- int GetHeadBytesIdentity();
- /// <summary>
- /// 错误代码
- /// </summary>
- int ErrorCode { get; set; }
- /// <summary>
- /// 错误信息
- /// </summary>
- string ErrorMsg { get; set; }
- /// <summary>
- /// 消息头字节
- /// </summary>
- byte[] HeadBytes { get; set; }
- /// <summary>
- /// 消息内容字节
- /// </summary>
- byte[] ContentBytes { get; set; }
- /// <summary>
- /// 发送的字节信息
- /// </summary>
- byte[] SendBytes { get; set; }
- /// <summary>
- /// 编码
- /// </summary>
- /// <param name="data"></param>
- /// <returns></returns>
- byte[] Code(T data);
- /// <summary>
- /// 解码
- /// </summary>
- /// <param name="data"></param>
- /// <returns></returns>
- T Decode();
- }
-
- }
|