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
恢复内容开始 Socket 套接字: 什么是socket: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实 就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口 就是全部,让Socket去组织 ...
分类:
其他好文 时间:
2019-08-07 22:51:29
阅读次数:
123
之前给大家分享了一个使用python发图片数据、Qt server接收图片的Demo。之前的Demo用于传输小字节的图片是可以的,但如果是传输大的图片,使用socket无法一次完成发送该怎么办呢?本次和大家分享一个对大的图片拆包、组包、处理粘包的例子。 程序平台:ubuntu 、 Qt 5.5.1 ...
分类:
其他好文 时间:
2019-08-06 20:09:40
阅读次数:
129
粘包现象 .recv(1024)坑:当传送来的数据超过1024bytes的时候,因为recv只能一次接受1024byte,传输管道就会积压数据\ → 下次recv会继续接收积压的数据\ → 这回导致本次send的处理结果可能返回的是上次的结果内容的一部分, 粘包现象:TCP协议是流数据协议(传送的是 ...
分类:
其他好文 时间:
2019-08-04 18:10:56
阅读次数:
87
from socket import * client = socket(AF_INET, SOCK_STREAM) client.connect(('127.0.0.1', 8081)) # 通信循环 while True: cmd=input('>>: ').strip() if len(cmd ...
分类:
其他好文 时间:
2019-07-29 09:28:01
阅读次数:
104
8.7 黏包 1. 黏包现象: 产生黏包现象的根本原因是缓冲区. 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。 什么是黏包现象: 基于tcp协议的socket.客户端接收不完,下一次将继续接收(如果间隔时间相对过长,后续的数据会与之前的数据黏在一起), ...
分类:
编程语言 时间:
2019-07-24 17:45:52
阅读次数:
126
高性能TcpServer - 1.网络通信协议 高性能TcpServer - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpServer - 3.命令通道(处理:掉包,粘包,垃圾包) 高性能TcpServer - 4.文件通道(处理:文件分包 ...
分类:
其他好文 时间:
2019-07-24 16:36:05
阅读次数:
174
高性能TcpServer - 1.网络通信协议 高性能TcpServer - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpServer - 3.命令通道(处理:掉包,粘包,垃圾包) 高性能TcpServer - 4.文件通道(处理:文件分包 ...
分类:
其他好文 时间:
2019-07-24 16:34:00
阅读次数:
148