【JavaEE网络】TCP/IP协议:细节与应用


TCP/IP协议

协议格式

应用层(后端开发必知必会):这一层也有很多现成的协议(后面还会重点介绍HTTP协议,这是做网站必备的)也有很多时候,是需要程序员自己定义协议的

客户端,需要给服务器发起一个请求,服务器收到请求之后,就给客户端返回一个响应

以下以外卖软件举例

客户端和服务器之间的沟通有很多种形式,因此需要在开发设计这个程序的时候,就需要提前做好良好的规划。这里的设计是非常灵活的,最主要的是要有一个固定的标准

举例:

做出如下设计:

  1. 明确当前请求和响应中包含哪些信息(根据需求来的)

请求:用户身份,用户当前位置…

响应:商家的名称,图片,好评率,距离你的位置,评分…

  1. 明确具体的请求和响应的格式

请求:

示例1:

请求:1234,80,100\n

所谓的“明确格式”就是看你按照啥样的方式,构造出一个字符串后续这个字符串就可以作为 tcp 或者 udp 的 payload 进行传输

另一方面服务器就可以对这个字符串进行解析,解析出 逗号 前面的是userld,逗号后面的是经度纬度

响应:

魏家凉皮,1.jpg,98%,1km,4.7\n

杨国福,2.jpg,99%,1.2km,4.8\n

\n

这个时候就构造出了一个响应这样的字符串,客户端就可以按照这样的格式来进行解析了

实际上,上述这样的格式约定,咋搞都行。任意进行约定的,只要保证,客户端和服务器遵守同一个约定即可

实例2:

在这里插入图片描述

实际上,以上的格式约定,咋样都行,任意进行约定的,只要保证,客户端和服务器遵守同一个约定即可。请求和响应的具体的数据组织形式,是非常灵活的。只要程序员想都行,只要客户端和服务器使用的是相同的规则即可

自定义协议:

  1. 明确传递的信息是有啥
  2. 约定好信息按照啥样的格式组织成(二进制)字符串

介绍几个通用重要的协议格式:

  1. xml

是以成对的标签,来表示“键值对”信息,同时标签支持嵌套,就可以构成一些更复杂的树形结构数据

//请求
<request>
	<userld>1234<userld>

	<position>100 80</position>
<request>

//响应
<response>
	<shops>
		<shop>
			
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值