public Client(string server, int port, PropertyInfo propertyInfo, CommandHeader header, Action <T> callback)
        {
            if (server == null)
            {
                return;
            }

            _propertyInfo          = propertyInfo;
            _stream                = new NetStream(server, port);
            _stream.Socket.NoDelay = true;
            var content = header.ToJsonString();
            var bs      = Encoding.UTF8.GetBytes(content);

            _stream.Write(bs.Length);
            _stream.Write(bs);

            while (true)
            {
                int len = _stream.ReadInt();
                if (len == -1)
                {
                    break;
                }
                bs      = _stream.ReceiveDatas(len);
                content = Encoding.UTF8.GetString(bs);
                callback(Newtonsoft.Json.JsonConvert.DeserializeObject <T>(content));
            }
        }
        void init()
        {
            _stream = new NetStream(_server, _port);
            var content = _header.ToJsonString();
            var bs      = Encoding.UTF8.GetBytes(content);

            _stream.Write(bs.Length);
            _stream.Write(bs);
        }