网络编程中客户端与服务器的搭建与协议包应用

1.客户端的搭建

2.服务器搭建

3.TCP中的粘包现象

tcp协议为了提高发送的效率,会将短时间连续发送的小数据,当做一组数据统一发送

原理是:

tcp协议本身存在一个1500字节的缓存区,tcp协议每次write发送数据的时候,总是会发送1500个字节

如果发送了n组数据,这n组数据的时间间隔很短,并且数据总大小没有超过1500个字节

那么TCP协议就会将这n组数据全都放到同一个1500字节的缓存区中去,统一发送。

4.协议包

规定好一组数据的固定大小,以及一组数据里面每个数据占据多少个字节

然后服务器和客户端,全都遵循同样的规定实现数据的收发

这样的规定如果我们把它打包写成具体的代码,打包出来的成果我们就称为协议包。

由于协议包无法解决按字节数输出我们在终端输入的字符串,所以在协议包的基础上再定义缓存区和变量存放输入的字符串的字节数和内容,当读取到指定字节数内容后进行输出就可以解决。

相关推荐
我先去打把游戏先1 小时前
ESP32学习笔记(基于IDF):ESP32连接MQTT服务器
服务器·笔记·单片机·嵌入式硬件·学习·esp32
我也想失去烦恼2 小时前
Linux系统/etc/hosts文件中配置了主机解析,但还是无法解析ip
linux·运维·服务器
德福危险4 小时前
密码枚举的艺术:靶机练习之midwest
服务器·安全·web安全
ximy13355 小时前
AI服务器工作之整机部件(CPU+内存)
运维·服务器
weixin_421133415 小时前
bisheng 的 MCP服务器添加 或 系统集成
运维·服务器
AKAMAI6 小时前
安全风暴的绝地反击 :从告警地狱到智能防护
运维·人工智能·云计算
报错小能手7 小时前
linux学习笔记(43)网络编程——HTTPS (补充)
linux·网络·学习
hkNaruto7 小时前
【DevOps】基于Nexus部署内网pypi代理镜像仓库操作手册
运维·devops
ximy13357 小时前
AI服务器工作之线材的接口介绍
运维·服务器
leo__5207 小时前
skynet.start 的作用详细解析
服务器