在项目中使用Protobuf协议实现数据传输(二)

在项目中使用Protobuf协议实现数据传输(二),第1张

上篇已经简单的分析了什么是ProtoBuf协议的优缺点、简单的环境配置、项目中的简单使用和一些编写.Proto文件的注意点,下面我们更加深入一下ProtoBuf的语法及高级使用(非常感谢Carson_Ho大神的博文指导)

作用 :防止不同 .proto 项目间命名 发生冲突

ProtoBuf包的解析过程如下 :

作用 :影响 特定环境下 的处理方式,但不改变整个文件声明的含义

常用Option选项 :(因为使用有限,简单列举常见的)

作用 :真正用于描述 数据结构

在.proto消息模型中主要有 消息对象&字段

组成 :字段 = 字段修饰符 + 字段类型 +字段名 +标识号(主要针对proto2以前版本)

字段 = 字段类型 +字段名 +标识号(主要针对proto3及以后版本)

一个消息对象 可以将 其他消息对象类型 用作字段类型

关于ProtoBuf在项目中的实践的高级用法请关注:下一篇博客:在项目中使用Protobuf协议实现数据传输(三)

不是netstart是netstat!!!

C:>netstat help

显示协议统计和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

-a显示所有连接和侦听端口。

-b显示在创建每个连接或侦听端口昌友亮时涉及的可执行程序。

在某些情况下,已知可执行程序承载多个独立的

组件,这些情况下,显示创建连接或侦听端口时涉

及的组件序列。此情况下,可执行程序的名称

位于底部[]中,它调用的组件位于顶部,直至达

到 TCP/IP。注意,此选项可能很耗时,并且在您没有

足够权限时可能失败。

-e显示以太网统计。此选项可以与 -s 选项结合使用。

-f显示外部地址的完全限定域名(FQDN)。

-n以数字耐宽形式显示地址和端口号。

-o显示拥有的与每个连接关联的进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是下列任

何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选

项一起用来显示每个协议的统计,proto 可以是下列任

何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP

或 UDPv6。

-r显告猛示路由表。

-s显示每个协议的统计。默认情况下,显示

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6

的统计;-p 选项可用于指定默认的子网。

-t显示当前连接卸载状态。

interval 重新显示选定的统计,各个显示间暂停的间隔秒数。

按 CTRL+C 停止重新显示统计。如果省略,则 netstat

将打印当前的配置信息一次。

generate_cpp_py.sh 文件中:

set -e 命令用法总结如下:

在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路森简径 . 。这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置。

if 语句块的使用方法见 《shell中if语句的使用》 ,此处的作用是判断是否有此中脊文件夹此培裤,若没有则创建。

which 命令用于搜索文件所在位置, which 与 whereis 的区别见 《Linux命令搜索命令whereis与which的区别》 。

最后就是 proto 的生成命令:

运行脚本:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12358343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存