使用MsgPack配合Qt应用程序和node.js应用程序的数据传输
这段时间开始将研发重心从OpenGL转向数据的序列化,再转向数据的传输了。在查看了一些前辈以及高手们有关登录模块的实现后,我也制定了一个自己的登录模块的解决方案。这其中我考虑到要使用json作为数据传输的格式,后面发现json二进制可以让数据更小,于是研究重心转向了json二进制,慢慢地转向了MsgPack这个开源的库,最后一个下午加上晚上,终于实现了用Qt打包MsgPack的数据再由node.js解包的操作。
蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/48342433。欢迎同行前来探讨。
在决定使用json二进制方案的时候,我发现其实Qt的QJsonDocument类有提供这样的方法,叫做QJsonDocument::toBinaryData( )。我尝试了一下,在转出时候,我将其输出到console中,发现这样导出的格式是Qt特有的json二进制的表达方式,而如果涉及到客户端和服务端交互的话,一定要有其它系统认识Qt这样的二进制表达方式才行。目前还没有发现node.js或是Qt以外的库支持Qt这种json的二进制表达方式,于是这种方法放弃了。
在搜寻解决方案的时候,我发现了一个库,叫做MsgPack(官网:http://m