一、数据缓冲区
缓冲区(buffer),它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区,显然缓冲区是具有一定大小的。
二、为什么要缓冲区 (详情参考:https://www.cnblogs.com/mlgjb/p/7991903.html)
1.可以解除高速设备与低速设备的不匹配,高速设备需要等待低速设备的制约关系,数据可以直接送往缓冲区,高速设备不用再等待低速设备,提高了计算机的效率。
2.可以减少数据的读写次数,如果每次数据只传输一点数据,就需要传送很多次,这样会浪费很多时间,因为开始读写与终止读写所需要的时间很长,如果将数据送往缓冲区,待缓冲区满后再进行传送会大大减少读写次数,这样就可以节省很多时间。
三、粘包现象
1、小数据传输粘包
源代码:
import socket server=socket.socket() server.bind(('127.0.0.1',8001)) server.listen() conn,addr=server.accept() msg_1=conn.recv(1024).decode("utf-8") msg_2=conn.recv(1024).decode("utf-8") print("客户端>>>",msg_1) print("客户端>>>",msg_2) conn.close() server.close()