zoukankan      html  css  js  c++  java
  • (转)[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具体没有深入研究,区别只是它的编译方式是使用插件方式,所以不用自己再编译编译器,使用官方的就行了。具体看它里面的帮助,其它地方应该大同小异。

  • 相关阅读:
    JS document.execCommand实现复制功能(带你出坑)
    jquery动态添加删除一行数据示例
    SpringBoot SpEL表达式注入漏洞-分析与复现
    Fastjson 1.2.22-24 反序列化漏洞分析
    udf提权原理详解
    ZZCMS v8.2 前台Insert注入+任意文件删除
    安恒杯 3月线上个人赛WriteUp
    SQLI LABS Stacked Part(38-53) WriteUp
    【转】Ubuntu16.04安装docker
    安装部署k8s-版本-1.13
  • 原文地址:https://www.cnblogs.com/wonderKK/p/3798317.html
Copyright © 2011-2022 走看看