如何自定义应用层协议?

目录

应用层

自定义应用层协议

确定好要组织的信息

确定好对信息的组织形式用来区分数据信息

使用分隔符将信息区分

使用固定长度组织信息

使用分隔符+固定长度组织信息

使用XML的格式组织信息

 使用json格式进行组织信息

 使用二进制格式 protobuffer ,thrift


应用层

  • 什么是应用层呢 ???

应用层是在最上层,我们平常用的应用软件都是在应用层,应用层是只关心为用户提供功能,是在操作系统用户态上的.而其余下层是在 "内核 态""上的.

自定义应用层协议

如何自定义应用层协议呢???

  • 确定好要组织的信息.
  • 确定好对信息的组织形式用来区分数据信息.

确定好要组织的信息

确定好组织信息也就是当你点开界面,你要将哪些信息进行组织

比如打开一个应用程序时就会有请求和响应

请求 : 点开应用程序时就需要获取到一些信息(地理位置,音频.....)

响应 : 屏幕就会显示一些界面(应用程序所需要展示的信息)

换一个具体的例子

比如你要打开淘宝

请求 : 获取你的地理位置信息,获取你的用户名,手机号,支付宝账号......

响应 : 然后就会显示淘宝的界面,比如店铺信息,衣服,鞋,服装,日常用品....等信息.

显示在我们的屏幕上的信息就是我们所需要组织的(比如店铺,衣服,图片.....)

确定好对信息的组织形式用来区分数据信息

确定好信息了,接下来我们就应该考虑怎么将信息进行组织在一起.

还是以"淘宝"进行举例:

这些 店铺信息 衣服....信息就是我们需要组织的

使用分隔符将信息区分

就比如这里我们就使用分号将每个信息进行区分.

使用固定长度组织信息

 使用固定长度将每个信息进行区分,比如读满2个字节证明店铺名称的信息已经读取完毕.

如果信息超过所规定的长度,那么将会将溢出的部分移除.

使用分隔符+固定长度组织信息

还可以将两个结合一起使用.

使用XML的格式组织信息

 

 使用json格式进行组织信息

json格式每个信息都是由{}里面的键值对组织的,键和值之间使用冒号隔开,每个键值对之间使用逗号隔开.{}里面可以是键值对,也可以是另一个json,也可以是一个json数组

 使用二进制格式 protobuffer ,thrift

这里的xml和json都属于文本格式,而Protobuffer和thrift是二进制的格式

  • 文本格式 : 易读但效率低,占用带宽高.
  • 二进制格式:不易读,但效率高,占用带宽少.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值