关于msg id的思考

本文讨论了在经典c/s模型中msg id的重要性,以及在msg id设计时面临的挑战和解决方案。提到了msg id的单一标识、预留策略、多级划分和rpc机制,并分享了在多人协作和代码管理中对msg id分配的思考。最后,作者分享了个人在项目中遇到的实际问题和对lua虚拟机的兴趣。
摘要由CSDN通过智能技术生成

 1 应用场景


       在经典的c/s模型中,客户端与服务端之间的通信消息类型通常不只一种,为了标识不同的消息类型,以对不同的消息做出恰当的处理,才在应用层有了msg id,即便是rpc机制,本质上也是将函数名当作msg id,msg id不得不存在的本质原因是tcp/ip只管网络传输,至于传输了什么内容,完全没有办法识别,只能靠应用层去检测


  2  msg id如何设计


       这或许是最简单的问题了,只要能保证每个消息类型都能分配到唯一的id就ok了,如果是这样的话,一个整型数字就完美解决了,假设项目无止尽的发展下去,功能越来越复杂,系统模块越来越多,那么维护这样一个整型数字会不会给程序员带来不必要的负担?为了更好的描述这个问题的真实存在性,假设以下这几个例子。

        a. 项目的初期,只有很少的一部分功能,也许就只有一个模块,命名为module1,msg id也被定义为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值