1 应用场景
在经典的c/s模型中,客户端与服务端之间的通信消息类型通常不只一种,为了标识不同的消息类型,以对不同的消息做出恰当的处理,才在应用层有了msg id,即便是rpc机制,本质上也是将函数名当作msg id,msg id不得不存在的本质原因是tcp/ip只管网络传输,至于传输了什么内容,完全没有办法识别,只能靠应用层去检测
2 msg id如何设计
这或许是最简单的问题了,只要能保证每个消息类型都能分配到唯一的id就ok了,如果是这样的话,一个整型数字就完美解决了,假设项目无止尽的发展下去,功能越来越复杂,系统模块越来越多,那么维护这样一个整型数字会不会给程序员带来不必要的负担?为了更好的描述这个问题的真实存在性,假设以下这几个例子。
a. 项目的初期,只有很少的一部分功能,也许就只有一个模块,命名为module1,msg id也被定义为