无论走到哪里,都应该记住,过去都是假的,回忆是一条没有尽头的路,一切以往的春天都不复存在,就连那最坚韧而又狂乱的爱情归根结底也不过是一种转瞬即逝的现实。——马尔克斯<palign="center">本文已经收录至我的GitHub,欢迎大家踊跃star和issues。</p><h4align="center"><ahr
分类:
其他好文 时间:
2020-04-06 23:53:46
阅读次数:
94
No.30 今日概要 非阻塞IO模型 验证客户端合法性 socketserver模块 计算器 内容回顾 TCP协议的粘包问题 本质:接收的边界不清晰 解决方式:自定义协议 文件发送自定义协议 先发送报头字典的字节长度 再发送字典(字典中包含文件的名字、大小.....) 最后发送文件内容 TCP和UD ...
分类:
其他好文 时间:
2020-04-05 23:56:33
阅读次数:
106
No.29 今日概要 粘包问题 内容回顾 OSI七层协议 应用层 传输层(理解port) tcp 可靠、慢、全双工、数据长度大 三次握手:发了 syn/ack 信号 三次握手把一个回复和请求连接的两条信息合并成一条了 四次挥手:发了 fin/ack 信号 由于一方断开连接后,可能另一方还有数据没有传 ...
分类:
其他好文 时间:
2020-04-05 23:51:20
阅读次数:
72
计算机网络问题在日常面试中经常被问到,很多人也是屡屡受挫,今日龙叔带领大家搞明白究竟
分类:
其他好文 时间:
2020-03-15 23:44:44
阅读次数:
78
TCP粘包问题几乎在每次面试中都会被问到,而很多人经常没有注意,屡屡受挫,本文龙叔带领大家搞明白TCP粘包问题的 ...
分类:
其他好文 时间:
2020-03-14 16:53:54
阅读次数:
50
一,粘包问题详情 1,只有TCP有粘包现象,UDP永远不会粘包 你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,其实是先把数据从用户态copy到内核态,这样的操作是耗资源和时间的,频繁的在内核态和用户态之前交换数据势必会导致发送效 ...
分类:
其他好文 时间:
2020-03-09 16:17:18
阅读次数:
47
粘包问题出现在TCP连接下。 由于client 端通过 tcp 连接 向 server端发送消息,多条消息之间没有明显的区分,导致server端在接收时,会将前一条消息的 结尾与下一天消息的开头放入一个缓冲区进行接收。 导致两条数据粘在一起, 称为粘包。 解决粘包的思路为,在发送一条消息时 将前4个 ...
分类:
编程语言 时间:
2020-03-03 15:03:40
阅读次数:
65
TCP通信粘包问题分析和解决(全) 在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小、数据 ...
分类:
其他好文 时间:
2020-03-02 18:50:55
阅读次数:
99
TCP协议下的粘包问题 粘包问题出现在TCP协议下,在UDP协议下不会出现粘包的问题。 粘包问题出现的原因: 应用层被成为应用元,操作系统被被称为系统元 合包机制:在TCP协议下有一个合包机制,当应用层传输过来数据后,如果数据较小,并且连续多次传输,此时nagle算法会对把多个数据进行 打包,统一发 ...
分类:
其他好文 时间:
2020-02-29 01:00:55
阅读次数:
79
server程序如下: import socket sk=socket.socket() print(sk) address=('127.0.0.1',8888) sk.bind(address) sk.listen(3) ''' 服务器端不关闭,客户端输入exit后关闭,服务器接收下一个连接的内容 ...
分类:
其他好文 时间:
2020-02-15 13:51:31
阅读次数:
83