using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
namespace HPSocketCS.Extended
{
///
/// 通信协议头附加信息(通信时主体信息中的头信息)
///
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct TcpHeadInfo
{
///
/// 客户端连接ID
///
public Int32 ConnId;
///
/// 本次传送数据包ID
///
public Int64 TransportID;
///
/// 硬件码
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
public string HardwareCode;
///
/// 主机名
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public string Hostname;
///
/// IP地址
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public string IPAddress;
///
/// 登录用户名
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
public string LoginUsername;
///
/// 端口号
///
public Int32 Port;
///
/// 数据类型
///
public Int32 MsgDataType;
///
/// 完整数据包大小
///
public Int64 IntactSize;
///
/// 请求命令
///
public Int32 RequestCommand;
///
/// 客户端标识ID
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string ClientMarkID;
///
/// 客户端标识名称
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string ClientMarkName;
///
/// 本次通信请求传送的数据是否为第一个包
///
[MarshalAs(UnmanagedType.Bool)]
public bool TransportStart;
///
/// 本次通信请求传送的数据是否为最后一个包
///
[MarshalAs(UnmanagedType.Bool)]
public bool TransportEnd;
///
/// 服务器端当前时间
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)]
public string ServerNowTime;
///
/// 服务器端版本号
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public string ServerVersionNumber;
///
///是否有协议尾信息
///
[MarshalAs(UnmanagedType.Bool)]
public bool IsTail;
}
}