美高梅开户-美高梅官方网站开户

您的位置:美高梅开户 > 美高梅开户 > Protobuf让多少传输更省更加快

Protobuf让多少传输更省更加快

发布时间:2019-09-12 02:53编辑:美高梅开户浏览(198)

    本文小编:丁同舟,来自金蝶随手记技能公司。

    简介:

    本文接上篇《金蝶随手记集体分享:还在用JSON? Protobuf让多少传输更省越来越快》,以iOS端的Objective-C代码为例,向您演示怎么样行使Protobuf。

    Protocol Buffer是google 的一种数据调换的格式,已经在Github开源,如今前卫版本是3.1.0。它独立于言语,独立于阳台。google 提供了二种语言的落到实处:Java、C#、C 、Go和Python,Objective-C,种种实现都包括了对应语言的编写翻译器以及库文件。由于它是一种二进制的格式,比选拔XML 实行数据交流快繁多。能够把它用来遍及式应用之间的多寡通讯恐怕异构碰到下的数据调换。作为一种功效和包容性都很卓越的二进制数据传输格式,能够用于诸如互联网传输、配置文件、数据存款和储蓄等许多领域。

    上学沟通:

    官网:

    - 即时报导支出沟通群:320837163[推荐]

    - 移动端IM开荒入门作品:《新手入门一篇就够:从零花费移动端IM》

    https://developers.google.com/protocol-buffers/

    (本文同步公布于:

    https://github.com/google/protobuf

    本文是无穷成千上万文章中的第2篇,总目录如下:

    个人安装使用的进度:

    《金蝶随手记集体分享:还在用JSON? Protobuf让多少传输更省更加快》

    《金蝶随手记集体共享:还在用JSON? Protobuf让多少传输更省更加快

    1.首先在github上下载全体代码,下载达成解压后放在钦定的选拔地方(小编放在桌面了)

    别的,假设你还筹算系统地领悟IM的开支文化,可以阅读《新手入门一篇就够:从零付出移动端IM》。

    2.安装注重库

    《Protobuf通讯契约详解:代码演示、详细原理介绍等》

    《二个基于Protocol Buffer的Java代码演示》

    《怎么样抉择即时通信应用的数目传输格式》

    《强列建议将Protobuf作为你的即时通信应用数据传输格式》

    《全方位评测:Protobuf品质到底有未有比JSON快5倍?》

    《移动端IM开采要求直面的技术难点》

    《简述移动端IM开垦的那几个坑:架构划虚拟计、通讯合同和顾客端》

    《理论联系实际:一套规范的IM通讯公约设计详解》

    《详解怎样在NodeJS中利用Google的Protobuf》

    >> 越来越多同类作品 ……

    brew install autoconf

    Protocol buffers为 Google提议的一种跨平台、多语言支持且开源的体系化数据格式。相对于类似的 XML 和 JSON,Protocol buffers 更为精细、连忙和简易。其语法这段时间分为proto2和proto3三种格式。

    brew install libtool

    当前 Google 官方的 Protobuf最新 release 版本为3.5.1,以下都以依附此版本的情状搭建。

    brew install automake

    关于 Protocol Buffer 的应用能够查看官方文书档案:

    3.实施命令 cd /Users/zhangyu/Desktop/protobuf-master/objectivec/DevTools/,然后在实行sudo shfull_mac_build.sh进展编译,假如报错,有极大可能率是信赖未有增多,遵照报错的因由加上就好(作者那边编写翻译的时候报:Timed out waiting 120 seconds for simulator to boot),小编就要挟关闭了,原因不知底。。。技能有限了

    Objective-C 2.0 Runtime (32bit & 64bit iOS, 64bit OS X)

    4.安装完毕后在/Users/zhangyu/Desktop/protobuf-master/src/ 目录下生成 protoc 可施行程序,今后会用到这么些protoc可实践程序把 .proto文件生成oc文件也正是.h.m文件。

    Xcode 7.0

    5.成立二个.proto文件(参照外人写的)Person.proto文件

    注意:

    开创文件:新建八个文书夹然后在极端cd张开(小编的:cd /Users/zhangyu/Desktop/protoTest)然后在实施 touch Person.proto

    Protobuf 出于性能怀念并未有选用 ARC,但在 ARC 下是可以运用的。

    将以下内容填写

    下载 Protobuf 代码包( protobuf-objectivec-3.5.1.tar.gz。

     syntax ="proto3”;

    编写翻译 Protobuf,这里也许供给安装部分工具:

    message Person 

    $ brew install autoconf

    {

    $ brew install automake

    stringname =1;

    $ brew install libtool

    int32 age=2;

    运转下边脚本进行编写翻译:

    stringaddress =3;

    $ ./autogen.sh

    }

    $ ./configure

    内需留意的是要指明proto的语准则则是proto2如故proto3。

    $ make

    6.采取protoc可试行程序将.proto文件生成.h.m文件。

    $ makeinstall

    先是步入到protoc那么些可试行程序的目录 cd /Users/zhangyu/Desktop/protobuf-master/src

    检查protobuf是或不是安装成功:

    接下来在实施 ./protoc --proto_path=/Users/zhangyu/Desktop/protoTest --objc_out=/Users/zhangyu/Desktop/proto_objc /Users/zhangyu/Desktop/protoTest/Person.proto

    $ protoc --version

    教学下面八个目录,第一个是创立.protoc文件的目录,第二个是您想把调换的.h.m文件放到的目录(笔者那边是在桌面上新建了三个proto_objc文件夹),第多少个是.proto文件  。

    如若成功打印版本号则设置成功:

    试行完下边包车型客车步子,就能够在您建的文件夹里不熟悉成.h.m文件了。

    libprotoc 3.5.1

    7.集成到品种中,新建一个门类,将转移的Ojective-C文件(下面例子的Person.pbobjc.h和Person.pbobjc.m)放到项目中,倘使项目应用了ARC,要将.m(例子的Person.pbobjc.m)的Complier Flags设为-fno-objc-arc。(protobuf基于品质原因尚未选取ARC)

    那边运用官方文档上的一份演示数据结构创建Person.proto:

    步入protobuf库,有二种艺术

    syntax = "proto3";

    message Person {

    string name = 1;

    int32 id = 2;

    string email = 3;

    enumPhoneType {

    MOBILE = 0;

    HOME = 1;

    WORK = 2;

    }

    message PhoneNumber {

    string number = 1;

    PhoneType type = 2;

    }

    repeated PhoneNumber phone = 4;

    }

    率先种是使用CocoaPods集成

    动用命令行编写翻译Person.proto为objective-c的公文,编写翻译出来的公文为Person.pbobjc.h和Person.pbobjc.m:

    行使CocoaPods集成,有二个现有的pod可以动用–Protobuf,能够pod search Protobuf找寻查看实际情况,pod内容为

    protoc Person.proto --objc_out=./

    pod'Protobuf'

    本文由美高梅开户发布于美高梅开户,转载请注明出处:Protobuf让多少传输更省更加快

    关键词: 美高梅开户

上一篇:Lottie在iOS的可用性调研,动画原理

下一篇:没有了