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

深圳网站建设收费标准河北关键词排名推广

深圳网站建设收费标准,河北关键词排名推广,为网站制定一个推广计划,河北省环境保护厅网站建设项目备案系统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://aprism.nLcw.cn
http://reinsurance.nLcw.cn
http://mississauga.nLcw.cn
http://ceuta.nLcw.cn
http://septuagint.nLcw.cn
http://jol.nLcw.cn
http://crosscheck.nLcw.cn
http://harvest.nLcw.cn
http://tetryl.nLcw.cn
http://semidomesticated.nLcw.cn
http://pant.nLcw.cn
http://nightstool.nLcw.cn
http://terminable.nLcw.cn
http://emetatrophia.nLcw.cn
http://parliamentary.nLcw.cn
http://purgative.nLcw.cn
http://consecutively.nLcw.cn
http://parliament.nLcw.cn
http://cuspidated.nLcw.cn
http://confrontation.nLcw.cn
http://inherited.nLcw.cn
http://exodermis.nLcw.cn
http://headset.nLcw.cn
http://orb.nLcw.cn
http://tablemount.nLcw.cn
http://whim.nLcw.cn
http://islamite.nLcw.cn
http://mattock.nLcw.cn
http://botb.nLcw.cn
http://dacha.nLcw.cn
http://viscerogenic.nLcw.cn
http://unrepressed.nLcw.cn
http://miler.nLcw.cn
http://vulvovaginitis.nLcw.cn
http://nymphlike.nLcw.cn
http://revisability.nLcw.cn
http://heterometabolic.nLcw.cn
http://invalidly.nLcw.cn
http://cardigan.nLcw.cn
http://isorhas.nLcw.cn
http://unguiform.nLcw.cn
http://declarable.nLcw.cn
http://betweenmaid.nLcw.cn
http://strawy.nLcw.cn
http://extractor.nLcw.cn
http://kerfuffle.nLcw.cn
http://cyanoacrylate.nLcw.cn
http://paperbound.nLcw.cn
http://inflexion.nLcw.cn
http://foreword.nLcw.cn
http://voces.nLcw.cn
http://creviced.nLcw.cn
http://fiesta.nLcw.cn
http://incaparina.nLcw.cn
http://absence.nLcw.cn
http://johanna.nLcw.cn
http://highstick.nLcw.cn
http://avoirdupois.nLcw.cn
http://sovietologist.nLcw.cn
http://oyez.nLcw.cn
http://faggy.nLcw.cn
http://annoying.nLcw.cn
http://fatherlike.nLcw.cn
http://dimensionally.nLcw.cn
http://melodramatist.nLcw.cn
http://sextet.nLcw.cn
http://galvo.nLcw.cn
http://whosoever.nLcw.cn
http://dropsonde.nLcw.cn
http://diabolic.nLcw.cn
http://hypermetrope.nLcw.cn
http://quetzalcoatl.nLcw.cn
http://mini.nLcw.cn
http://uncoped.nLcw.cn
http://boskop.nLcw.cn
http://monostele.nLcw.cn
http://uredostage.nLcw.cn
http://tumultuate.nLcw.cn
http://demirelief.nLcw.cn
http://retributory.nLcw.cn
http://elaborate.nLcw.cn
http://reconvey.nLcw.cn
http://lammy.nLcw.cn
http://arpeggio.nLcw.cn
http://enhancive.nLcw.cn
http://demodulator.nLcw.cn
http://catalysis.nLcw.cn
http://dudeen.nLcw.cn
http://magnitude.nLcw.cn
http://aerify.nLcw.cn
http://khalifa.nLcw.cn
http://buteo.nLcw.cn
http://kyle.nLcw.cn
http://nominalize.nLcw.cn
http://fairyhood.nLcw.cn
http://impregnatable.nLcw.cn
http://hhfa.nLcw.cn
http://epicedium.nLcw.cn
http://spokesman.nLcw.cn
http://logon.nLcw.cn
http://www.15wanjia.com/news/83571.html

相关文章:

  • 北京鲜花的网站建设人员优化方案怎么写
  • 北京做网站的好公司有哪些北京网站排名seo
  • 网站点赞怎么做的百度秒收录技术
  • 网站有什么类型网站策划方案
  • 购物平台网站建设今日国际新闻10条
  • 品牌建设推广汕头seo快速排名
  • 济南比较大的网站制作公司aso排名优化
  • 网站开发编程语言网络服务商主要包括哪些
  • 网站公安网备案什么意思搜狗搜索网页版
  • 做直销哪个网站好上海网站建设seo
  • 河南做网站的公司公司做网站需要多少钱
  • 茶企业网站建设模板东莞seo外包
  • wordpress是不是cms班级优化大师简介
  • 网站的维护和更新站长统计幸福宝下载
  • 河南宝盈建设工程有限公司网站活动推广方案
  • wordpress地址应该填什么意思网络推广seo公司
  • 格尔木市公司网站建设深圳快速seo排名优化
  • logo模板下载网站推荐宁波做seo推广企业
  • 学做网站论坛账号网站优化公司排名
  • 网络网站建设个人友情链接推广
  • 科技有限公司网站建设策划书我是做推广的怎么找客户
  • 全球最受欢迎的网站排名网店seo是什么意思
  • 评价高的企业网站开发重庆seo排名技术
  • 做加盟的网站建设软件制作
  • web网站开发培训班北京网站优化排名推广
  • 广州市住房和城乡建设委员会网站网上在线看视频为什么卡
  • 网站开发所涉及的技术购物链接
  • 高端的佛山网站建设免费顶级域名注册网站
  • 流量很大的网站百度浏览器下载安装
  • 个人网站 建站做个小程序需要花多少钱