Example #1
0
/// 发送消息
/// [Request : Google Protocol Buffers version 2.5]
/// </summary>
/// <typeparam name="T">IMessageLite的子类</typeparam>
/// <param name="generatedExtensionLite">消息的扩展信息</param>
/// <param name="messageLite">消息</param>
        public void OnSendMessage <T>(GeneratedExtensionLite <ServerMessage, T> generatedExtensionLite, T messageLite)
            where T : IMessageLite
        {
            var data = ProtobufEncoder.ConvertMessageToByteArray(generatedExtensionLite, messageLite);

            OnSendMessage(data);
        }
Example #2
0
        /// <summary>
        /// [自用]Message转换为byte[]
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="generatedExtensionLite"></param>
        /// <param name="messageLite"></param>
        /// <returns></returns>
        public static byte[] ConvertMessageToByteArray <T>(GeneratedExtensionLite <ServerMessage, T> generatedExtensionLite, T messageLite) where T : IMessageLite
        {
            ServerMessage.Builder builder = ServerMessage.CreateBuilder();
            builder.SetMsgId("" + generatedExtensionLite.Number);
            builder.SetExtension(generatedExtensionLite, messageLite);
            ServerMessage serverMessage = builder.Build();

            return(serverMessage.ToByteArray());
        }