(转)[ActionScript 3] Google-ProtoBuf for AS
最近由于项目的需要,研究了一下protobuf。在这里分享一下经验,具体介绍网上也有不少,可以百度先了解一下。
ProtoBuf在as中主要就是序列反序列化的作用,我们主要用它来代替amf,因为像c++这类语言不支持amf。
1.AS有两种方案,一种是官方的,还是一种是国人写的。这里先介绍官方的。
首先介绍一下proto文件,这个文件主要用来定义描述文件,作用是生成前后台两种类,这样可以省去一边的工作,语法比较简单,这里就不介绍。
2.把proto文件生成as文件,这里需要编译器proto.exe,默认支持c++,java,python.我们得自己安装vs来编译产生支持as的编译器,具体过程就不再描述,可以看protobuf-actionscript3中的说明。可以点击这里下载我已经编译好的程序。
下面介绍编译过程,使用cmd命令
protoc.exe –proto_path= c:\ –as3_out=c:\ options.proto
参数说明
–proto_path proto文件的目录
–as3_out 输出目录
最后跟proto文件名,在输出目录下产生类文件。
protoc.exe –proto_path= c:\ –as3_out=c:\ options.proto
参数说明
–proto_path proto文件的目录
–as3_out 输出目录
最后跟proto文件名,在输出目录下产生类文件。只要将类文件拷贝到项目里边就可以使用了,记得导入 <ignore_js_op>protoc.rar (198.2 KB, 下载次数: 861)
3.使用方法,导入swc文件.
var byte:ByteArray=new ByteArray;
message.writeToDataOutput(byte);//序列化到byte中;
var msg:Msg=new Msg;
msg.readFromDataOutput(byte);//反序列化message.
使用ProtoBuf后可以跟c++等语言直接传输对象,而不必关心内部的细节,使开发更为方便。我封装了一套socket的类库,可以直接下载来使用。
<ignore_js_op> NetEngine.rar (514.52 KB, 下载次数: 927)
国人写的那套as的方案protoc-gen-as3具体没有深入研究,区别只是它的编译方式是使用插件方式,所以不用自己再编译编译器,使用官方的就行了。具体看它里面的帮助,其它地方应该大同小异。
(转)[ActionScript 3] Google-ProtoBuf for AS的更多相关文章
- google protobuf安装与使用
google protobuf是一个灵活的.高效的用于序列化数据的协议.相比较XML和JSON格式,protobuf更小.更快.更便捷.google protobuf是跨语言的,并且自带了一个编译器( ...
- VS2013编译google protobuf 出现问题error C3861: “min”:
问题描述: 今天用vs2013编译protobuf 2.4.1 报错: 错误 3 error C3861: "max": 找不到标识符 f:\google\protobuf\pro ...
- google protobuf初体验
最近在读别人代码的时候发现一个的东西,名字叫protobuf, 感觉挺好用的,写在这里,留个记录.那么什么是protobuf 呢?假如您在网上搜索,应该会得到类似这样的文字介绍: Google Pro ...
- Google protobuf proto文件编写规则
转载自: http://blog.csdn.net/yi_ya/article/details/40404231 1. 简单介绍 protobuf文件:就是定义你要的消息(类似java中的类)和消息中 ...
- window下编译并使用google protobuf
参考网址: http://my.oschina.net/chenleijava/blog/261263 http://www.ibm.com/developerworks/cn/linux/l-cn- ...
- GOOGLE PROTOBUF开发者指南
原文地址:http://www.cppblog.com/liquidx/archive/2009/06/23/88366.html 译者: gashero 目录 1 概览 1.1 什么是pro ...
- google protobuf ios开发使用
简介: protobuf 即 google protocol buffer 是一种数据封装格式协议: 比如其他经常用的xml,json等格式:protobuf的优势是效率高,同样的一份数据使用prot ...
- Google protobuf
个人理解: 定义.proto文件就是指明消息里包含的成员和类型,protoc会compile成相应的java文件包含interface和implementation class,然后在构建messag ...
- google protobuf 简单实例
1.定义proto文件: User.proto package netty; option java_package="myprotobuf"; option java_outer ...
- google protobuf使用
下载的是github上的:https://github.com/google/protobuf If you get the source from github, you need to gener ...
随机推荐
- 洛谷P2151 [SDOI2009] HH去散步 [矩阵加速]
题目传送门 HH去散步 题目描述 HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走 ...
- Python函数系列-迭代器,生成器
一 迭代器 一 迭代的概念 #迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不 ...
- http request GET 乱码分析
提交一个GET请求 在浏览器地址栏或搜索框输入地址:http://www.baidu.com/content/衣服?keyword=衬衣 其中的中文会被浏览器进行编码,具体编码情况请参考阮大神:关于U ...
- 【BZOJ 2753】 2753: [SCOI2012]滑雪与时间胶囊 (分层最小树形图,MST)
2753: [SCOI2012]滑雪与时间胶囊 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 2457 Solved: 859 Descriptio ...
- [CodeForces850C]Arpa and a game with Mojtaba
题目大意: 给你一个包含n个数的数列,两个人轮流对数列进行如下操作: 选择一个质数p和一个正整数k,将数列中所有能被p^k整除的数除以p^k. 最后不能操作者负. 问先手是否有必胜策略. 思路: 显然 ...
- Boost汉字匹配 -- 宽字符
原文链接:http://blog.csdn.net/sptoor/article/details/4930069 思路:汉字匹配,把字符都转换成宽字符,然后再匹配. 需要用到以下和宽字符有关的类: ...
- 常用SQL Server规范集锦及优化
原文地址:http://www.cnblogs.com/liyunhua/p/4526195.html
- ARM 调用约定 calling convention
int bar( int a, int b, int c, int d, int e, int f, int g ) { ]; array2[ ] = a + b; array2[ ] = b + c ...
- STN1170 Multiprotocol OBD to UART Interpreter
http://www.obdsol.com/stn1170/ STN1170 supports the following protocols: all legislated OBD II proto ...
- android 各种颜色值 colors.xml
<?xml version="1.0" encoding="utf-8" ?> <resources> <color name=& ...