/// <summary>
        /// 发送
        /// </summary>
        /// <typeparam name="T">配置类型</typeparam>
        /// <param name="list">配置列表</param>
        /// <param name="sendType">发送类型</param>
        /// <param name="initializedServer">初始化服务器</param>
        /// <returns>发送信息</returns>
        public static string Send <T>(List <T> list, int sendType = -1, gmt.Server initializedServer = null) where T : class, global::ProtoBuf.IExtensible
        {
            Type type = typeof(T);

            string[] name;
            if (!TableManager.tableNameDictionary.TryGetValue(type, out name))
            {
                Log.AddLog(string.Format("错误表格的类型:", type.FullName));
                return(TableManager.GetGMTText(901));
            }

            string output = "";

            if (sendType < 0)
            {
                if (!string.IsNullOrEmpty(name[2]))
                {
                    sendType = int.Parse(name[2]);
                }
            }

            if (sendType >= 0)
            {
                byte[] versions             = { (byte)DateTime.Now.Month, (byte)DateTime.Now.Day, (byte)DateTime.Now.Hour, (byte)DateTime.Now.Minute };
                mw.AUTH_GMT_SETTINT_Ntf Ntf = new mw.AUTH_GMT_SETTINT_Ntf();
                Ntf.type   = (mw.EGMTSettintType)sendType;
                Ntf.verson = BitConverter.ToInt32(versions, 0);

                mw_serializer0 serializer = new mw_serializer0();

                for (int i = 0; i < list.Count; ++i)
                {
                    using (MemoryStream stream = new MemoryStream())
                    {
                        serializer.Serialize(stream, list[i]);
                        byte[] buffer = new byte[stream.Length];
                        stream.Position = 0;
                        stream.Read(buffer, 0, buffer.Length);

                        mw.AUTH_GMT_SETTINT_NODE node = new mw.AUTH_GMT_SETTINT_NODE();
                        node.len  = buffer.Length;
                        node.data = buffer;

                        Ntf.info.Add(node);
                    }
                }

                MemoryStream memoryStream = new MemoryStream();
                ProtoSerializer.Instance.Serialize(memoryStream, Ntf);
                byte[] sendBuffer = new byte[memoryStream.Length];
                memoryStream.Position = 0;
                memoryStream.Read(sendBuffer, 0, sendBuffer.Length);

                if (initializedServer != null)
                {
                    output = TableManager.Send2Server(output, initializedServer, sendBuffer);
                }
                else
                {
                    for (int i = 0; i < gmt.Server.Count; ++i)
                    {
                        output = TableManager.Send2Server(output, gmt.Server.GetServerAt(i), sendBuffer);
                    }
                }
            }

            return(output);
        }