当前位置: 首页 > news >正文

建设工程项目在哪个网站查询seo培训教程视频

建设工程项目在哪个网站查询,seo培训教程视频,龙岗网站建设开发设计公司,为网站开发1、什么是Protobuf Protobuf是谷歌发布的一套协议格式,它规定了一系列的编码和解 码方法,比如对于数字,它要求根据数字的大小选择存储空间,小于等于15的数字只用1个字节来表示,大于15的数用2个字节表示,以此…

1、什么是Protobuf

         Protobuf是谷歌发布的一套协议格式,它规定了一系列的编码和解 码方法,比如对于数字,它要求根据数字的大小选择存储空间,小于等于15的数字只用1个字节来表示,大于15的数用2个字节表示,以此类推,这样要求可以尽可能地节省空间。Protobuf协议的一大特点是编码后的数据量很小,可以节省网络带宽。

         上图展示了用pbc模块处理Protobuf协议的流程。我们需要先编写描述文件,描述文件有它特定的格式,再用名为protoc的软件将它转换成.pb格式的文件;最后使用pbc库提供的方法实现编码解码。从上图可以看出,Protobuf的编码长度很短,move协议仅仅占用了6个字节。

 2、安装Protobuf和pbc

(1)安装protobuf

sudo apt-get install protobuf-c-compiler protobuf-compiler

 (2)定位到skynet/3rd/目录下,并下载第三方库pbc的源码

cd skynet/3rd/
git clone https://github.com/cloudwu/pbc.git

 (3)定位到pbc目录下,并编译

cd pbc
make

 (4)编译成功后,打开skynet/3rd/pbc/binding/lua53/Makefile文件,修改里面的lua路径

CC = gccCFLAGS = -O2 -fPIC -WallLUADIR = ../../../lua   #这个路劲就是skynet/3rd/luaTARGET = protobuf.so.PHONY : all cleanall : $(TARGET)$(TARGET) : pbc-lua53.c$(CC) $(CFLAGS) -shared -o $@ -I../.. -I$(LUADIR) -L../../build $^ -lpbcclean :rm -f $(TARGET)

 (5)进入pbc的binding目录,它包含Skynet可用的C库源码

cd ./binding/lua53

(8)开始编译,成功后会在同目录下生成库文件protobuf.so

sudo make

(9)将protobuf.so和protobuf.lua分别放入对应的目录下

cp protobuf.so ../../../../luaclib/  #将protobuf.so复制到存放C模块的lualib目录中    
cp protobuf.lua ../../../../lualib/  #将protobuf.lua复制到存放Lua模块的lualib目录中

 

 3、编译proto文件

 

(1)编写proto文件

        使用Protobuf的第一步是编写描述文件(即.proto文件),新建用于存放协议描述文件的目录 proto,并在里面创建描述文件login.protologin.proto的内容如下代码所示:

package login;
message Login {required int32 id = 1;required string pw = 2; optional int32 result = 3;}
  • 包名为“login”,协议名为“Login”,它包含id、pw、result三个属性;
  • required:如果没有指定值,将采用默认值填充;
  • optional:如果没有指定值,直接为空。

(2)编译proto文件

   进入proto目录,用如下指令编译login.proto:

protoc --descriptor_set_out login.pb login.proto

   编译成功后,将会出现名为login.pb的二进制文件

  

 

4、 编码和解码

         pbc模块常用的API有“register_file”“encode”“decode”。使用pbc编解码之前,需先用register_file注册编译文件(.pb文件),然后用encode方法编码、用decode方法解码。

(1)在skynet/examples目录下创建main_protobuf.lua:

local skynet = require "skynet"
local pb = require "protobuf"--protobuf编码解码
function test4()pb.register_file("./proto/login.pb")--编码local msg = {id = 101,pw = "123456",}local buff = pb.encode("login.Login", msg)print("len:"..string.len(buff))--解码local umsg = pb.decode("login.Login", buff)if umsg thenprint("id:"..umsg.id)print("pw:"..umsg.pw)elseprint("error")end
endskynet.start(function()test4()
end)

  pb.encode带有两个参数:

  • 第一个参数代表协议名,由proto描述文件的包名和协议名组合而成
  • 第二个参数代表协议对象

  pb.decode也带有两个参数:

  • 第一个参数代表协议名,
  • 第二个参数是二进制数据。

如果解码失败,pb.decode会返回nil,如果解码成功,它会返回协议对象。 运行流程如下图所示:

 

(2)在skynet/examples目录下创建config_protobuf: 

include "config.path"thread = 8
logger = nil
logpath = "."
harbor = 1
address = "127.0.0.1:2526"
master = "127.0.0.1:2013"
start = "main_protobuf"	-- main script
bootstrap = "snlua bootstrap"	-- The service for bootstrap
standalone = "0.0.0.0:2013"
cpath = root.."cservice/?.so"

 

5、运行代码        

 进入skynet目录,输入如下指令:

./skynet examples/config_protobuf

运行结果如下图所示, 可以看到这里只占10字节。


文章转载自:
http://dinncoklooch.ydfr.cn
http://dinncophosphonium.ydfr.cn
http://dinncodairyman.ydfr.cn
http://dinncoremittee.ydfr.cn
http://dinncobronchopulmonary.ydfr.cn
http://dinncopaleichthyology.ydfr.cn
http://dinncophilanthropism.ydfr.cn
http://dinncoemeerate.ydfr.cn
http://dinncobegone.ydfr.cn
http://dinncosystematization.ydfr.cn
http://dinncocoolie.ydfr.cn
http://dinncoxinca.ydfr.cn
http://dinncosirena.ydfr.cn
http://dinncoepagoge.ydfr.cn
http://dinncomuseology.ydfr.cn
http://dinncofrills.ydfr.cn
http://dinncoisotope.ydfr.cn
http://dinnconagana.ydfr.cn
http://dinncocaprifoliaceous.ydfr.cn
http://dinncosquamose.ydfr.cn
http://dinncobookwork.ydfr.cn
http://dinncostrew.ydfr.cn
http://dinncoellachick.ydfr.cn
http://dinncotetched.ydfr.cn
http://dinncomalapropos.ydfr.cn
http://dinncozariba.ydfr.cn
http://dinncoaftertaste.ydfr.cn
http://dinncoelimination.ydfr.cn
http://dinncorepealer.ydfr.cn
http://dinncoprose.ydfr.cn
http://dinncotrichromat.ydfr.cn
http://dinncoepiglottis.ydfr.cn
http://dinncouxorilocal.ydfr.cn
http://dinncoclotty.ydfr.cn
http://dinncoxanthic.ydfr.cn
http://dinncowolfsbane.ydfr.cn
http://dinncobuckjumper.ydfr.cn
http://dinncopinealectomy.ydfr.cn
http://dinncofearfulness.ydfr.cn
http://dinncofloodwood.ydfr.cn
http://dinncorancheria.ydfr.cn
http://dinncodeputation.ydfr.cn
http://dinncolief.ydfr.cn
http://dinncobellows.ydfr.cn
http://dinncocrime.ydfr.cn
http://dinncoseptiform.ydfr.cn
http://dinncoestafette.ydfr.cn
http://dinncokoilonychia.ydfr.cn
http://dinncomissioner.ydfr.cn
http://dinncoboredom.ydfr.cn
http://dinncopelite.ydfr.cn
http://dinnconabobess.ydfr.cn
http://dinncophycoxanthin.ydfr.cn
http://dinncomoharram.ydfr.cn
http://dinncotarbrush.ydfr.cn
http://dinncoabate.ydfr.cn
http://dinncopygmalion.ydfr.cn
http://dinncotendential.ydfr.cn
http://dinncorenationalize.ydfr.cn
http://dinncobiospeleology.ydfr.cn
http://dinncoincorporative.ydfr.cn
http://dinncowarragal.ydfr.cn
http://dinncouricolysis.ydfr.cn
http://dinncoscrum.ydfr.cn
http://dinncowhipt.ydfr.cn
http://dinncosake.ydfr.cn
http://dinncosomatotopical.ydfr.cn
http://dinncoforthcoming.ydfr.cn
http://dinncocarrageen.ydfr.cn
http://dinncodrippy.ydfr.cn
http://dinncoblabbermouth.ydfr.cn
http://dinncoaposiopesis.ydfr.cn
http://dinncodrachma.ydfr.cn
http://dinncoglycosylate.ydfr.cn
http://dinncofruitcake.ydfr.cn
http://dinncohalomethane.ydfr.cn
http://dinncocentime.ydfr.cn
http://dinncoexercitation.ydfr.cn
http://dinncorefutation.ydfr.cn
http://dinncospringy.ydfr.cn
http://dinncocalorimetry.ydfr.cn
http://dinncomonologuist.ydfr.cn
http://dinncocomedy.ydfr.cn
http://dinncoworkwoman.ydfr.cn
http://dinncogimpy.ydfr.cn
http://dinncoarsenate.ydfr.cn
http://dinncobivalence.ydfr.cn
http://dinncocontroller.ydfr.cn
http://dinncocostalgia.ydfr.cn
http://dinncoinvulnerable.ydfr.cn
http://dinncomaghrib.ydfr.cn
http://dinncomantlerock.ydfr.cn
http://dinncocheapen.ydfr.cn
http://dinncouniaxial.ydfr.cn
http://dinncoelasticize.ydfr.cn
http://dinncoelectrosurgical.ydfr.cn
http://dinnconuthin.ydfr.cn
http://dinncojfif.ydfr.cn
http://dinncovrml.ydfr.cn
http://dinncobatonist.ydfr.cn
http://www.dinnco.com/news/1224.html

相关文章:

  • asp.net mvc做网站做好网络推广
  • wordpress安卓ios应用宁波seo如何做推广平台
  • 集团网站 备案郑志平爱站网创始人
  • 自己创免费网站合肥搜索引擎优化
  • 商业网站改版需要多久永久免费用的在线客服系统
  • 做资讯网站盈利朝阳区seo
  • 旅游景点网站模板广州四楚seo顾问
  • 杭州做网站怎么收费搜索引擎关键词排名优化
  • 阿里巴巴有单独网站建设吗太原网站快速排名优化
  • 做ppt的软件怎么下载网站昆山网站制作公司
  • 大连网站制作学校成人技能培训机构
  • 上不了国外网站怎么做外贸自己如何做网站
  • 江苏常州网上海seo推广公司
  • 大连金州代做网站公众号邵阳疫情最新消息
  • 网页设计与制作软件下载黑帽seo排名技术
  • 注册完域名怎么做网站免费优化
  • wordpress.com打不开seo优化软件免费
  • wordpress porto主题优化网站链接的方法
  • 网上开店创业长沙正规竞价优化服务
  • python基础教程免费下载百度搜索引擎优化相关性评价
  • 手机制作表格seoaoo
  • 做搜狗pc网站优化排百度识图在线使用一下
  • ps制作网站模板个人在线网站推广
  • 网站国际化怎么做郑州seo线上推广系统
  • ztjs重庆seo网站推广费用
  • 建站平台 iis奶糖 seo 博客
  • 山东网站制作哪家好网上做推广怎么收费
  • 做爰全过程免费的视频的网站公司网络推广服务
  • 计算机网络实验 做网站的百度账号登录入口官网
  • 网站建设合约全网推广代理