MsgPack和Protobuf

这篇具有很好参考价值的文章主要介绍了MsgPack和Protobuf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MsgPack可以在C++下序列化类,Protobuf只能在C#下序列化类

C++只要#include <msgpack.hpp>就能直接用,不用链接库,也不用包含CPP文件。

Cocos Creator安装msgpack-lite

项目文件夹执行

npm install msgpack-lite
npm i --save-dev @types/msgpack-lite

Cannot read property 'Buffer' of undefined

看这个:

Creator 3.x npm包 一些坑的解决方法(新手向) - Creator 3.x - Cocos中文社区

在这个路径下建一个同名的声明文件 msgpack.min.d.ts
里面写上文章来源地址https://www.toymoban.com/news/detail-744208.html

declare module "msgpack-lite/dist/msgpack.min.js" {
    export * from "msgpack-lite";
}
import msgpack from "msgpack-lite/dist/msgpack.min.js";


          //C++结构对应TypeScript里的数组
          const object = [
                editBox.string,
                'Hello, world!pwd',
               ];
              
          const encoded: Uint8Array = msgpack.encode(object);
          websocket.send(encoded);
//C++结构对应TypeScript里的数组
struct MsgLogin {
	std::string name;
	std::string pwd;
	MSGPACK_DEFINE(name, pwd);
};

msgpack::object_handle oh = msgpack::unpack(frame_payload.bytes(), frame_payload.length());
msgpack::object obj = oh.get();
std::cout << obj << std::endl;
const auto msgLogin = obj.as<MsgLogin>();

到了这里,关于MsgPack和Protobuf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Protobuf 反射技术简介

    对于反射大家应该不会陌生,如果你接触过一些框架(如 ORM、IOC、OSGi 等) 的内部实现,应该更能体会反射技术的应用可谓无处不在。 反射概念最早出现于人工智能领域,20 世纪 70 年代末被引入到程序语言设计中。1982 年 MIT 的 Smith, Brian Cantwell 在他的博士论文中最早提出了

    2024年01月22日
    浏览(39)
  • Protobuf数据交互实战

    \\\"no one gonna make me down\\\"          在之前呢,我们介绍了什么protobuf以及它的语法、数据类型。 一句老话说得好,\\\"多说不练,假把式!\\\"。因此,本篇会选择以protobuf的语法,完成一个简易的通讯录,一个是文件版的,一个是网络版的。这样才能让我亲切地感受到,protobuf以

    2024年02月15日
    浏览(30)
  • 初识ProtoBuf

    目录 一、初识ProtoBuf 1.1 序列化概念 1.2 认识ProtoBuf 二、安装ProtoBuf 2.1 windows 2.2 Linux 三、快速上手ProtoBuf 3.1 .proto文件规范 3.2 指定proto3语法 3.3 package声明符 3.4 定义消息 3.5 定义消息字段 3.6 编译.proto文件,生成C++文件 3.7 使用展示 什么是序列化? 将声音信号转换为光电信号属

    2024年02月16日
    浏览(22)
  • protobuf

    概念 protobuf 全称 Protocol buffers,是 Google 研发的一种跨语言、跨平台的序列化数据结构的方式,是一个灵活的、高效的用于序列化数据的协议。 特点 在序列化数据时常用的数据格式还有 XML、JSON 等,相比较而言,protobuf 更小、效率更高且使用更为便捷,protobuf 内置编译器,可

    2024年01月19日
    浏览(16)
  • protobuf 之 Varint

    Varint 是一种紧凑的表示数字的方法。它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数。这能减少用来表示数字的字节数。 Varint 中的每个 byte 的最高位 bit 有特殊的含义,如果该位为 1,表示后续的 byte 也是该数字的一部分,如果该位为 0,则结束。其他

    2024年01月23日
    浏览(16)
  • protobuf概览

    protobuf是由谷歌推出的二进制序列化与反序列化库对象。也是著名GRPC的底层依赖,它独立于平台及语言的序列化与反序列化标准库。 相关网址 protobuf IDL描述 protobuf 开源库 grpc-知乎 grpc官方示例 安装protobuf可以使用vcpkg进行简易安装依赖,protoc.exe则会安装在installedx64-windows

    2024年02月11日
    浏览(3)
  • idea使用protobuf

    本文参考:https://blog.csdn.net/m0_37695902/article/details/129438549 再次感谢分享 什么是 protobuf ? Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。 由于protobuf是跨语言的,所以用不同的语言序列化对象后,生成一段字节码,之后可以其他任何语言反

    2024年02月14日
    浏览(28)
  • ubuntu卸载protobuf

    1、先查看protobuf的版本:protoc --version 2、查找protobuf的位置:which protoc,我的电脑上是/usr/local/bin/protoc 3、执行sudo rm /usr/local/bin/protoc //可执行文件 4、sudo rm -rf /usr/local/include/google //头文件 5、sudo rm -rf /usr/local/lib/libproto* //库文件

    2024年02月05日
    浏览(39)
  • Protobuf编码规则

    该表显示了在  .proto  文件中指定的类型,以及自动生成的类中的相应类型: .proto Type Notes C++ Type Java/Kotlin Type[1] Java/Kotlin 类型 [1] Python Type[3] Go Type Ruby Type C# Type PHP Type Dart Type double double double float float64 Float double float double float float float float float32 Float float float double int32 var

    2024年02月02日
    浏览(27)
  • Protobuf 简介

    protobuf (protocol buffer) 是谷歌内部的混合语言数据标准。通过将结构化的数据进行序列化(串行化),用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。通常说的protobuf包括以下三点: 是一种二进制数据交换格式。支持不同与语言例如C++、j

    2024年02月16日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包