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

1.客户端的搭建

2.服务器搭建

3.TCP中的粘包现象

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

原理是:

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

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

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

4.协议包

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

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

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

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

相关推荐
bestsun9993 分钟前
Oraclelinux问题-/var/log/pcp/pmlogger/目录超大
linux·运维
噼里啪啦啦.37 分钟前
计算机网络原理
服务器·网络·计算机网络
SAP-ZX1 小时前
SAP HANA on AWS Amazon Web Services
运维
AirDroid_cn1 小时前
跨系统投屏:Realme手机(远程)投屏到Linux系统的简单方法
linux·运维·智能手机·手机投屏·无线投屏·远程投屏
一杯原谅绿茶1 小时前
Linux一键安装node.js【脚本】
linux·运维·node.js
A__tao1 小时前
SSE vs WebSocket,谁更适合实时文本传输?
网络·websocket·网络协议
运维小贺2 小时前
MySQL超详细介绍(近2万字)
运维·数据库·mysql
猫咪-95272 小时前
Mysql表的简单操作
服务器·数据库·mysql
无职转生真好看2 小时前
TCP怎么保证可靠传输
服务器·网络·tcp/ip
一头大学牲2 小时前
云服务器上跑Python:Ubuntu上使用miniconda搭建虚拟环境
linux·运维·ubuntu·miniconda