摘要:
因为udp包头有2个byte用于记录包体长度. 2个byte可表示最大值为: 2^16-1=64K-1=65535 udp包头占8字节, ip包头占20字节, 65535-28 = 65507 如果要发送的udp报文大于65507怎么办? 需要在应用层由开发者自己分片发送. 阅读全文
posted @ 2020-04-11 21:34
topass123
阅读(1824)
评论(0)
推荐(0)
摘要:
数据粘包,是由于tcp其独特的流式传输导致的。 产生的场景有; 第一种:发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会合到一起,产生粘包) from socket import * ip_port=('127.0.0.1',8080) tcp_socket_serve 阅读全文
posted @ 2020-04-11 21:24
topass123
阅读(232)
评论(0)
推荐(0)
摘要:
推荐链接: https://www.cnblogs.com/lixiang-share/p/7152870.html 阅读全文
posted @ 2020-04-11 21:09
topass123
阅读(161)
评论(0)
推荐(0)
摘要:
select、epoll 区别总结: 1、支持一个进程所能打开的最大连接数 select 单个进程所能打开的最大连接数有FD_SETSIZE宏定义,其大小是32个整数的大小(在32位的机器上,大小就是3232,同理64位机器上FD_SETSIZE为3264),当然我们可以对进行修改,然后重新编译内核 阅读全文
posted @ 2020-04-11 20:56
topass123
阅读(1383)
评论(0)
推荐(0)
摘要:
多线程的情况下确实可以最大限度发挥多核处理器的计算能力,提高系统的吞吐量和性能。但是如果随意使用线程,对系统的性能反而有不利影响。 当线程数量多大时,反而会耗尽cpu和内存资源。比如说,创建和销毁线程也需要时间,如果创建和销毁的时间远大于线程执行的时间,反而得不偿失。其次线程也需要占用内存空间,大量 阅读全文
posted @ 2020-04-11 20:49
topass123
阅读(169)
评论(0)
推荐(0)
摘要:
一、什么是IP分片? IP协议在传输数据包时会将数据报文分成若干片进行传输,并在目标系统中进行重组。这个过程就要分片。 二、为什么要进行IP分片 如果IP数据报加上数据帧头部后大于MTU,数据报文就会分成若干片进行传输。那么什么是MTU呢?每一种物理网络都会规定链路层数据帧的最大长度,称为链路层MT 阅读全文
posted @ 2020-04-11 20:38
topass123
阅读(744)
评论(0)
推荐(0)
摘要:
time-wait的产生: 在TCP连接中四次挥手关闭连接时,主动关闭连接的一方(上图中时Client)会在发送最后一条ACK报文后维持一段时长2MSL(MSL指的是数据包在网络中的最大生存时间)的等待时间后才会真正关闭连接到CLOSED状态,该时间段内主动关闭方的状态为TIME_WAIT。即在TI 阅读全文
posted @ 2020-04-11 20:20
topass123
阅读(701)
评论(0)
推荐(0)
浙公网安备 33010602011771号