protobuf

pluginManagement的坑

风格不统一 提交于 2019-12-05 17:50:19
想用protobuf-maven-plugin插件,用了<pluginManagement/>标签包裹<plugin/>,就引不进来,去掉就可以引进来。需要研究下。 <build> <pluginManagement> <plugins> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>0.6.1</version> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> <configuration> <pluginParameter>enable_deprecated=true</pluginParameter> </configuration> </execution> </executions> </plugin> </plugins> </pluginManagement> </build> 以上配置,引不进来。 <build> <plugins> <plugin> <groupId>org.xolstice.maven.plugins</groupId>

quick-cocos2d-x protobuf

安稳与你 提交于 2019-12-05 10:22:59
1、下载pbc项目 https://github.com/miaodadao/pbc 2、proto生成pb文件 https://code.google.com/p/protobuf/downloads/list 下载protoc文件,然后切换到上面下载完成后解压的文件下调用下面安装命令 ./configure --prefix=/usr/local/protobuf make make check make install 安装完成后在存放proto的文件下调用 protoc -- descriptor_set_out test.pb iosgame.pb iosgame.proto 把生成好的pb文件放到项目的res文件下 3、修改pbc项目 添加pbc-lua.h头文件,文件内容 #ifndef __LUA_PBC_EXTRA_H_ #define __LUA_PBC_EXTRA_H_ #if defined(_USRDLL) #define LUA_EXTENSIONS_DLL __declspec(dllexport) #else /* use a DLL library */ #define LUA_EXTENSIONS_DLL #endif #if __cplusplus extern "C" { #endif #include "lauxlib.h" int LUA

quick-cocos2d-x使用protobuf

血红的双手。 提交于 2019-12-05 10:22:45
1、下载pbc项目 https://github.com/miaodadao/pbc 2、proto生成pb文件 https://code.google.com/p/protobuf/downloads/list 下载protoc文件,然后切换到上面下载完成后解压的文件下调用下面安装命令 ./configure --prefix=/usr/local/protobuf make make check make install 安装完成后在存放proto的文件下调用 protoc -- descriptor_set_out test.pb iosgame.pb iosgame.proto 把生成好的pb文件放到项目的res文件下 3、修改pbc项目 添加pbc-lua.h头文件,文件内容 #ifndef __LUA_PBC_EXTRA_H_ #define __LUA_PBC_EXTRA_H_ #if defined(_USRDLL) #define LUA_EXTENSIONS_DLL __declspec(dllexport) #else /* use a DLL library */ #define LUA_EXTENSIONS_DLL #endif #if __cplusplus extern "C" { #endif #include "lauxlib.h" int LUA

cocos2dx3.4 lua整合protobuf

大城市里の小女人 提交于 2019-12-05 10:22:31
网上看了一些资料但还是遇到不少问题。在这里记录一下 下载地址: https://github.com/sean-lin/protoc-gen-lua.git 1. 复制文件 protoc-gen-lua/protobuf/pb.c 到 frameworks\cocos2d-x\external\lua\protobuf\pb.c 2. 修改 frameworks\cocos2d-x\cocos\scripting\lua-bindings\manual\network\lua_extensions.c 文件 #include "lua_extensions.h" #if __cplusplus extern "C" { #endif // socket #include "protobuf/pb.c" #include "luasocket/luasocket.h" #include "luasocket/luasocket_scripts.h" #include "luasocket/mime.h" static luaL_Reg luax_exts[] = { {"socket.core", luaopen_socket_core}, {"mime.core", luaopen_mime_core}, {NULL, NULL} }; void luaopen_lua

k8s 权限控制初探

自作多情 提交于 2019-12-05 07:13:09
k8s 权限控制 User Role RoleBinding 给个例子 附录 k8s 权限控制 Secret、ServiceAccount 的权限受限于 Role/ClusterRole。 一提到权限就整 RABC,其实就是 Role-Based Access Control。说白了异常简单 user1 ------rolebinding1------> role1 user1 ------rolebinding2------> role2 权限在 role 上,通过 rolebinding 将 user 和 role 串起来 k8s 只能给用户赋予什么权利;给用户赋予所有权限除了 XX 权限是不行的 据我现在的经验所知: user 可以是 serviceaccout (基于某个 namespace)、 users (没有试验过) role 可以是 role (基于某个 namespace)、 clusterRole (全局) rolebinding 可以是 rolebinding (基于某个 namespace)、 clusterrolebinding (全局) User 以 serviceaccout 为例: # 定义 [root@master lihao04-test]# cat lihao-rbac.yaml apiVersion: v1 kind:

开张课、RPC入门、创建中间文件

霸气de小男生 提交于 2019-12-05 04:02:14
rpc:远程调用 基本原理 整个过程就是: 1、客户端 发送 数据(以字节流的方式) 2、服务端接收,并解析。 根据 约定 知道要知道执行什么。然后把结果返回客户端 RPC 就是 把 1、上述过程封装下,使其操作更加优化 2、使用一些大家都认可的协议 使其规范化 3、做成一些框架。直接或间接产生利益 刚才我们讲的“赚钱利器” 其中一个框架就是一款语言中立、平台中立、开源的远程过程调用(RPC)框架 gRpc 。支持java、c++、golang、php多个语言版本。 我们只需要关心 golang版本 https://github.com/grpc/grpc-go 开始我们的项目 创建一个空项目,使用go module的方式 go mod com.zzg 安装 go get -u google.golang.org/grpc Protobuf 协议 等一下,我们还需要一些协议(如http写,tcp协议,socket协议),这里我们使用 Protobuf 协议 Protobuf 是啥,英文名称是 Google Protocol Buffer( 简称 Protobuf) 它是一种轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储。 特点(优点):性能高、传输快、维护方便,反正就是各种好,各种棒,一些第三方rpc库都会支持protobuf github地址: https:/

android使用protobuf实现网络订单管理功能

瘦欲@ 提交于 2019-12-05 02:25:59
在新版本的Beetle.NetPackage开源组件中集成了对Protobuf的支持,在android下可以简单地使用 Beetle.NetPackage实现基于Protobuf的TCP通讯数据交互.下详细讲解实现一个网络订单管理功能的过程. 协议定义 既然使用Probobuf进行数据交互,那就需要基于Protobuf制定一系列的通信对象,主要包括数据请求和应答的数据对象格式.在做之前需要把需求整理一下明确一下有那些功能,由于Demo主要是用于介绍一下protobuf在 Beetle.NetPackage下的使用所以功能并不复杂包括:订单分页查询和订单明细查看.具体Protobuf定义如下: package ordermanager; option java_package = "com.beetle.samples.ordermanager"; option java_outer_classname = "orderproto"; message GetEmployee { optional string Name=1; } message GetEmployeeResponse { repeated Employee Items=1; } message Employee { optional string ID=1; optional string Name=2; }

CmakeLists.txt protobuf编译

回眸只為那壹抹淺笑 提交于 2019-12-05 00:43:20
平台:ubuntu 14.04 X64 简介 protobuf可以用于描述据结构,可以用于序列化和反序列化,并且适用于多平台的扩展,是比较好的数据描述平台。 操作 在某一文件夹下,按照以下顺序操作 mkdir test gedit AddressBook.proto gedit main.cpp gedit CMakeLists.txt 其中, main.cpp #include <iostream> #include <fstream> #include <vector> #include "AddressBook.pb.h" using namespace std; // This function fills in a Person message based on user input. void PromptForAddress(tutorial::Person* person) { cout << "Enter person ID number: "; int id; cin >> id; person->set_id(id); cin.ignore(256, '\n'); cout << "Enter name: "; getline(cin, *person->mutable_name()); cout << "Enter email address (blank

Google Protobuf 简单使用

孤人 提交于 2019-12-05 00:42:45
一,系统:Windows 准备工具: protoc-2.6.1-win32.zip protobuf-2.6.0.jar 其中 protoc-2.6.1-win32.zip 把编写的 .proto文件转换成 .java程序;把生成的.java程序 放到eclispe中时会报错,需要添加依赖包:protobuf-2.6.0.jar 二,使用 proto.exe将 .proto转换成.java D:\Program Files (x86)\protoc-2.6.1-win32>protoc.exe --java_out=.\src .\netty\test.proto 上面命令把当前目录( D:\Program Files (x86)\protoc-2.6.1-win32 )下的 netty\test.proto 文件 转换成JAVA文件,生成的JAVA文件在 src 目录下。 三,在Eclipse工程中使用protobuf。 把生成的JAVA文件导入eclipse的工程中,并添加依赖包 protobuf-2.6.0.jar 即可。 四,.proto文件解释 示例 .proto 文件: package netty; #.proto文件在 netty目录下 option java_package = "codec"; #生成的.java文件中的package 语句 option java

Protobuf3 google protobuf

筅森魡賤 提交于 2019-12-05 00:42:35
Protobuf3 相关连接: Google-protobuf(需要翻墙): https://developers.google.com/protocol-buffers/ Protobuf on github: https://github.com/google/protobuf Git上的资源: https://github.com/google/protobuf/releases Proto3协议格式:https://developers.google.com/protocol-buffers/docs/proto3 前言:protobuf是什么? Protocol Buffers是一个跨语言、跨平台的具有可扩展机制的序列化数据工具。也就是说,我在ubuntu下用python语言序列化一个对象,并使用http协议传输到使用java语言的android客户端,java使用对用的代码工具进行反序列化,也可以得到对应的对象。听起来好像跟json没有多大区别。。。其实区别挺多的。 Google说protobuf是smaller,faster,simpler,我们使用google规定的proto协议定义语言,之后使用proto的工具对代码进行“编译”,生成对应的各个平台的源代码,我们可以使用这些源代码进行工作。 Proto2与proto3: Proto2和proto3有些区别