DotNetty系列四:自定义协议,序列化类库MessagePack

在上一节基础上,实现自定义协议,使用MessagePack序列化。

1上引入:Nuget:  MessagePack,MessagePackAnalyzer

2..在类库项目,新建一个枚举(标识命令),一个消息接口,一个消息实现。

    public enum COMMAND
    {
        /// <summary>
        /// 心跳
        /// </summary>
        HeartBeat = 1000,
        /// <summary>
        /// 消息
        /// </summary>
        Message = 1,
        /// <summary>
        /// 上线通知
        /// </summary>
        OnlineNotify = 1001,
        /// <summary>
        /// 下线通知
        /// </summary>
        OfflineNotify = 1002,
        /// <summary>
        /// 空消息
        /// </summary>
        NULL = 0,
    }

    public interface IMessage
    {
        COMMAND Command { set; get; }
        string Content { get; set; }
    }

    [MessagePackObject] //messagepack必须
    public class Message : IMessage
    {
        [Key(0)]//排序
        public COMMAND Command { get; set; }
        [Key(1)]
        public string Content { get; set; }
    }

3.新建一个MessagePack序列化操作类。

public static class MessagePackHelper
    {
        public static byte[] SerializeToBinary<T>(T obj) => MessagePackSerializer.Serialize(obj);

        public static T DeserializeWithB
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值