Python网络编程04/recv原理/高大上版解决粘包方式 [TOC] 1.昨日内容回顾 2.recv工作原理 3.高大上版解决粘包方式(自定制报头) 3.1 解决思路: 3.2 服务端 3.3客户端 4.2客户端 ...
分类:
编程语言 时间:
2019-08-16 23:06:49
阅读次数:
89
Python网络编程03/ low版解决粘包问题 [TOC] 1.操作系统的缓存区 2.基于TCP协议的socket循环通信 2.1 服务端(server) 2.2客户端(client) 3.基于TCP协议的socket链接+循环 通信 3.1服务端(server) 3.2 客户端(client) ...
分类:
编程语言 时间:
2019-08-16 22:27:12
阅读次数:
129
基于TCP协议的socket通信 1.基于TCP协议的socket循环通信 2.基于TCP协议的socket连接循环通信 3.基于TCP协议的socket通信:远程执行命令 4.粘包现象 5.操作系统的缓冲区 5.出现粘包现象的情况 1.接收方没有及时接收缓冲区的包,造成多个包接收(客户端发送了一段 ...
分类:
其他好文 时间:
2019-08-15 22:53:18
阅读次数:
114
什么是拆包/粘包: TCP 粘包/拆包: TCP 是一个“流”协议,所谓流,就是没有界限的一长串二进制数据。TCP 作为传输层协议并不了解上层业务数据的具体含义,它会根据TCP 缓冲区的实际情况进行数据包的划分,所以在业务上认为是一个完整的包,可能会被TCP 拆分成多个包进行发送,也有可能把多个小的 ...
分类:
Web程序 时间:
2019-08-11 17:22:57
阅读次数:
451
TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合 ...
分类:
其他好文 时间:
2019-08-11 17:03:57
阅读次数:
96
基于TCP的大文件发送 UDP通信 特点:数据报协议(自带报头),没有双向通道,通信过程类似于发短信。 1.udp协议客户端允许发空 2.udp协议不会粘包 3.udp协议支持并发 ***允许发空和不会粘包的原因都是因为基于数据报协议,自带了报头 简易版本的QQ 利用socketserver完成并发 ...
分类:
其他好文 时间:
2019-08-09 21:50:08
阅读次数:
95
UDP协议 udp协议四大特点 1.不会粘包 2.支持并发 3.客户端断开连接不会报错 4.允许客户端发空 udp与tcp相比: udp更像发短信,他需要对方回应,直接发过去就行 tcp像打电话,他需要对方回应才能继续发生 udp在发送数据时,会自动发送报头,所以不会粘包 而且udp不需要建立双向通 ...
分类:
其他好文 时间:
2019-08-08 23:00:52
阅读次数:
128
UDP通信 1,数据报协议 2,没有双向通道类似于发短信 1,udp协议客户端可以发空 ,因为自带报头看上去是空的实际上还是有东西的 2,udp 不会粘包 3,udp 协议服务端不许存在的情况下,客户端照样不会报错 4,udp 协议支持并发,并发就是看上去是同时发的数据但其实是发完一条再发另一条 U ...
分类:
其他好文 时间:
2019-08-08 21:12:10
阅读次数:
79
### 什么是套接字?1. 一组接口2. 作用于应用层与传输层之间3. 隐藏了传输层下面复杂的TCP/IP协议的实现### 基于TCP协议的socket1. 流式协议,面向流的通信是无消息保护边界的2. 会将数据少、时间间隔短的数据一次性打包发送3. 可靠但粘包 1. 数据不会丢,包没收完,会继续上... ...
分类:
其他好文 时间:
2019-08-08 00:31:09
阅读次数:
82
本地回环地址:127.0.0.1 简易版服务端: 简易版客户端: 注意:在写服务端和客户端的时候send和recv需要一一对应,不能再两边都出现,recv是跟内存要数据,至于数据的来源无需考虑 粘包: 服务端: 客户端: 服务端打印结果: 这是因为tcp协议会将时间间隔短的,和文件大小小的会一次打包 ...
分类:
编程语言 时间:
2019-08-08 00:27:57
阅读次数:
139