/// <summary>
        /// 构造器
        /// </summary>
        /// <param name="requester">请求方类型</param>
        /// <param name="ipaddress">IP 地址</param>
        /// <param name="port">通信端口</param>
        public tcpHandshake(HandshakeRequester requester, string ipaddress, int port)
        {
            this._id = 10;

            this._type = requester;
            this._ip   = ipaddress;
            this._port = port;
        }
        /// <summary>
        /// 从 byte 数组中提取数据生成 cHandshake 对象
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public new static tcpHandshake Parse(byte[] data)
        {
            HandshakeRequester _r  = ( HandshakeRequester )data[6];
            string             _ip = System.Text.Encoding.Unicode.GetString(data, 7, 15).Trim( );
            short _port            = BitConverter.ToInt16(data, 22);

            tcpHandshake ret = new tcpHandshake(_r, _ip, _port);

            ret._id     = BitConverter.ToInt16(data, 0);
            ret._number = BitConverter.ToInt32(data, 2);

            return(ret);
        }