上篇已经简单的分析了什么是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 的生成命令:
运行脚本:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)