扩充的意义在于无schema,json既代表字符串,又代表万物
你见过http ajax服务器端修改了 webservice 接口
还需要单独发布一个dll或者头文件,才能访问吗?
为了访问一个服务端的接口,必须限定语言,限定编译器,限定库链接
类似protobuf这种固定schema访问的接口, 除了效率高简直就是一无是处
绝大多数web框架,都允许你对ajax及http协议无需了解, 就完全可以使用语言内置数据结构编写ajax服务, 通讯层和主干框架完全融为一体
而protobuf这种东西, 光链接编译搭环境就够喝一壶的, 还要学习各种细节,进行各种类型转换,这种玩意,完全割裂开通讯层与系统的主干框架, 多一个库就多一个麻烦, 尤其是这种非标准的技术
【 在 ziqin 的大作中提到: 】
: 第一个扩充是什么意义上的?有多大成分是运行时的?我的理解是,在一般的应用场合,A <--> S 之间的通讯,即使在通讯结构转换这个层面有毕业做到纯运行时,但是在业务逻辑层面,多多少少都是要在代码层面增补的(编译时)。
: 第二个,如果不涉及cpu cache hit rate之类的,硬件其实无所谓,大小端统一的问题,网络库层应该内部搞定,和应用层没关系。
: 听下来还是序列化的老问题,就是动态结构(vector, map之类)怎么自动正反序列化。protobuf msg可以有descriptor,可以实现动态转换,json如果没有这个机制,恐怕你的需求是不行的。如果对运行、传输和编码效率没有太高要求的话,我觉得可以用boost::ipc::managed_external_bu
: ...................
--
FROM 221.219.211.*