[TOC] 1.UDP协议 称之为:数据包协议 ? 特点: ? 1.不需要建立链接 ? 2.不需要知道对方是否收到 ? 3.数据不安全 ? 4.传输速度快 ? 5.能支持并发 ? 6.不会粘包 优点: ? 传输速度快 ? 能支持并发 ? 不会粘包 ? 缺点: ? 数据不安全,容易丢失 ? 应用场景: ...
分类:
系统相关 时间:
2019-12-07 19:19:06
阅读次数:
96
服务器端 import socket sk = socket.socket() sk.bind(("127.0.0.1", 6666)) sk.listen() conn, address = sk.accept() def my_send(msg): bs = msg.encode("utf-8" ...
分类:
编程语言 时间:
2019-12-07 18:00:53
阅读次数:
256
UDP协议 (了解) 称之为数据包协议。 特点: 1) 不需要建立链接。 2) 不需要知道对方是否收到。 3) 数据不安全 4) 传输速度快 5)能支持并发 6) 不会粘包 7) 无需先启动服务端再启动客户端 优点: - 传输速度快 - 能支持并发 - 不会粘包 缺点: - 数据不安全, 容易丢失 ...
分类:
Web程序 时间:
2019-12-06 22:04:04
阅读次数:
120
TCP协议:三次握手,四次挥手 TCP协议建立双向通道。 三次握手, 建连接: 1:客户端向服务端发送建立连接的请求 2:服务端返回收到请求的信息给客户端,并且发送往客户端建立连接的请求 3:客户端接收到服务端发来的请求,返回接成功给服务端,完成双向连接 第一客戶向服务端发送请求,请求建立连接 服务 ...
分类:
其他好文 时间:
2019-12-05 22:05:19
阅读次数:
92
一、粘包问题问题1: 无法确认对方发送过来数据的大小。 ‘client.py' import socket client = socket.socket() client.connect( ('127.0.0.1', 9000)) while True: cmd = input('客户端输入的内容: ...
分类:
其他好文 时间:
2019-12-05 21:57:05
阅读次数:
93
前言:学习本章需要先了解网络协议, 详见: "网络通讯协议" 本章目录 一.什么是socket 二.为什么需要socket 三.socket的发展 四.python中的socket 五.基于TCP的socket 六.基于UDP的socket 六. 粘包问题详解 七.粘包的解决方案 引入:为什么一定要 ...
分类:
其他好文 时间:
2019-11-28 21:07:30
阅读次数:
74
1、什么是 tcp 粘包? 发送方发送的多个数据包,到接收方缓冲区首尾相连,粘成一包,被接收。 2、原因 TCP 协议默认使用 Nagle 算法可能会把多个数据包一次发送到接收方。 应用程读取缓存中的数据包的速度小于接收数据包的速度,缓存中的多个数据包会被应用程序当成一个包一次读取。 3、处理方法 ...
分类:
其他好文 时间:
2019-11-25 11:18:18
阅读次数:
94
解决粘包的方法:两个sendall,同时在一起,有可能会出现粘包,解决粘包的办法,用conn.recv(1024)隔断 ...
分类:
其他好文 时间:
2019-11-23 23:54:46
阅读次数:
98
粘包拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生粘包拆包问题,因此粘包拆包问题只发生在TCP协议中。 什么是粘包、拆包? 假设客户端向服务端连续发送了两个数据包,用packet1和packet ...
分类:
其他好文 时间:
2019-10-30 13:53:34
阅读次数:
59
[TOC] 为什么出现粘包问题? ~~~python TCP协议就类似于打电话 只有在TCP协议中才会出现粘包现象,因为TCP协议是流式协议 它的特点是将数据量小并且时间间隔比较短的数据一次性打包发送出去 本质其实还是因为我们不知道需要接收的数据的长短 ~~~ 如何解决粘包问题? ~~~python ...
分类:
其他好文 时间:
2019-10-23 20:33:56
阅读次数:
96