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; } }