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

威海网站建设在哪网站开发尺寸

威海网站建设在哪,网站开发尺寸,ajax wordpress地址,万江网站制作1、什么是Protobuf Protobuf是谷歌发布的一套协议格式#xff0c;它规定了一系列的编码和解 码方法#xff0c;比如对于数字#xff0c;它要求根据数字的大小选择存储空间#xff0c;小于等于15的数字只用1个字节来表示#xff0c;大于15的数用2个字节表示#xff0c;以此… 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.proto。login.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.paththread 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://www.dnsts.com.cn/news/128172.html

相关文章:

  • 企业做门户网站的重要性做网络推广的技巧
  • 郑州网站建设 郑州网站设计成都有哪些网站建设的公司
  • wordpress中的全站链接怎么改外贸建站seo
  • 做推广的网站那个好户外网站 整站下载
  • 设计师做网站的流程哈尔滨模板建站多少钱
  • 地勘网站建设方案高级经济师
  • 重庆网领网站建设公司友情链接是免费的吗
  • 摄影培训网站建设境外网站搭建
  • 确定建设电子商务网站目的眉山网站优化
  • 网站制作宣传wordpress一键
  • 网站建设分为什么wordpress怎么编辑的
  • 个人做分类信息网站网络平台推广的好处
  • 淄博 网站推广网站建设首选定制开发
  • 建设银行人力资源招聘网站wordpress vue
  • wordpress 主题站免费观看短视频的软件
  • 网站长期外包推网站
  • 想做网站怎么做办公室装修设计 公司
  • 网站兼容手机代码网页设计与制作课程介绍
  • 网站制作基础教程三站一体网站公司
  • 余姚哪里有做淘宝网站的电影网站怎么做友情链接
  • 新开家政如何做网站公司官网制作报价
  • 河北手机版建站系统开发河南建筑工程信息
  • 网站建设什么好用dw设计网站模板下载地址
  • wap网站设计做程序题的国外网站
  • 中职计算机网站建设教学计划网站免费观看
  • 门户网站开发的价格做游戏试玩网站
  • 织梦网站栏目字体怎么调徐州网站建设4
  • 为什么要建立电子商务网站一个人网站开发
  • 好大夫王建设在线个人网站广告图片素材网
  • 东莞市镇街建设项目监理招标网站浙江建设工程信息管理平台