【网络】网络原理之TCP/IP

网络原理之TCP/IP

自定义应用层协议

应用层协议有现成的,比如http,但是有些时候,还是需要程序员自定义应用层协议,自定义应用层协议,就是程序员约定好客户端和服务器以什么样的格式传输数据。

比如以后工作后的开发流程大概是以下几个步骤:

1️⃣需求评审:开发,测试,运维,产品经理,在一起,由产品经理提出需求,然后其他人评审需求,看看需求是否合理,能否实现。

2️⃣反馈排期:根据工作量,决定几天后可以完成开发工作

3️⃣当需求涉及到多个组协同开发,尤其是前后端协作,就需要约定好前后端,各个模块之间的交互接口,AB两个组协同开发,A给B发送数据,B给A回复数据,约定数据按照什么样的格式组织,这个过程就是自定义协议。

4️⃣写代码

5️⃣提测:提交给测试人员测试

6️⃣联调:多个模块放在一起来验证

7️⃣发布/上线

自定义应用层协议:

自定义应用层协议步骤:先理清交互要传输什么信息,然后决定信息按什么格式来组织

比如点外卖时先启动程序,启动程序就涉及到一次网络通信:

请求:用户信息,位置信息

响应::商家的信息(商家名称,商家位置,商家评分,商家预览图)

那可以看到请求和响应中包含的有时候可不是一条信息,那这些信息需要通过一定的格式来组织,具体使用啥样的格式来组织,这是可以自定义的,这个过程就是自定义应用层协议

✅一般使用的格式有以下几种:

1️⃣使用分隔符:

请求:用户ID;位置信息(东经,北纬)

响应:商家ID;商家名称;商家位置;商家评分;商家预览图

​ 商家ID;商家名称;商家位置;商家评分;商家预览图

​ …

每次请求和响应中的信息使用;分隔,请求之间或响应之间使用\n分隔。这里的分隔符也是可以替换的。

2️⃣使用固定长度来区分信息:

比如一次请求/响应固定多少个字节,请求或响应中信息固定占多少个字节,使用固定的长度来区分信息。

image-20220904164410820

3️⃣使用上述两种方式:分隔符和固定字节的混搭

4️⃣通过xml的格式来组织数据:

请求:
<request>
    <userId>10<usetId/>
    <userPosition>163,245<userPosition/>
<request/>
响应:
<response>
    <shops>
    	<shop>
    		<id>100<id/>
    		<name>xxx<name/>
    		<position>xxx<position/>
    		<rank>xxx<rank/>
    		<img>xxx<img/>
    	<shop/>
    	<shop>
    		<id>100<id/>
    		<name>xxx<name/>
    		<position>xxx<position/>
    		<rank>xxx<rank/>
    		<img>xxx<img/>
    	<shop/>
    <shops/>
<response/>    

xml这种格式是通过标签来组织数据的,这种格式其实类似于一种树形结构,一级一级地分级下去,形如(开始标签) (结束标签),这就是标签,标签一般是成对出现的,但也有单个的标签

<
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值