/// 发送消息 /// [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); }
/// <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()); }