《TCP/IP详解卷一》学习笔记

  • 第1章 概述
  • 第3章 IP:网际协议
  • 第6章 ICMP:internet控制报文协议
  • 第7/8章 Ping/Traceroute程序
  • 第9/10章 IP路由
  • 第11章 UDP: 用户数据包协议
  • 第12章 多播和广播
  • 第14章 DNS:域名系统
  • 第15章 TFTP:简单文件传送协议
  • 第17章 TCP:传输控制协议
  • 第18章 TCP连接建立与终止
  • 第19章 TCP的交互数据流
  • 第20章 TCP成块数据流
  • 第21章 TCP的超时与重传
  • 第22章 TCP的持续定时器
  • 第23章 TCP的保活定时器

第1章 概述

1、以太网数据帧的物理特性是其长度必须在46-1500字节之间;

第3章 IP:网际协议

1、IP提供不可靠、无连接的数据报传送服务;不可靠的意思是它不能保证I P数据报能成功地到达目的地。IP仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区, IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端?。无连接这个术语的意思是I P并不维护任何关于后续数据报的状态信息。
在这里插入图片描述

2、如果首部校验和失败,则IP层会丢弃该数据报,但是不产生差错报文,由上层去发现丢失的数据报并进行重传。
3、IP层允许报文丢失、失序、重复;
3、IP路由选择
在这里插入图片描述

第6章 ICMP:internet控制报文协议

0、ICMP基于IP数据报
1、ICMP回显应答报文;
2、ICMP差错报告报文;
1)ICMP端口不可达差错(ICMP目的不可达报文的一种)
注:UDP的规则之一是,如果收到一份U D P数据报而目的端口与某个正在使用的进程不相符,那么UDP返回一个ICMP不可达报文。
注:ICMP的一个规则是, ICMP差错报文(参见图6 - 3的最后一列)必须包括生成该差错报文的数据报IP首部(包含任何选项),还必须至少包括跟在该IP首部后面的前8个字节。
注:使用UDP网络编程时,使用connect时,可以收到ICMP差错报文;
在这里插入图片描述

第7/8章 Ping/Traceroute程序

1、 Ping使用ICMP回显请求和回显应答报文;
2、 Traceroute程序使用ICMP报文和IP首部中的TTL字段(生存周期);
注:Traceroute的实现为UDP+2种ICMP报文(TTL超时与端口不可达);Tracert的实现为2种ICMP报文(TTL超时与回送请求报文);
在这里插入图片描述

3、Traceroute程序发送一份UDP数据报给目的主机,但它选择一个不可能的值作为UDP端口
号(大于30 000),使目的主机的任何一个应用程序都不可能使用该端口。因为,当该数据报到达时,将使目的主机的UDP模块产生一份ICMP端口不可达错误报文。
3、Traceroute原理:开始时发送一个TTL字段为1的UDP数据报,然后将TTL字段每次加1,以确定路径中的每个路由器。每个路由器在丢弃UDP数据报时都返回一个ICMP超时报文2,而最终目的主机则产生一个ICMP端口不可达的报文。
注:Traceroute每发送一个报文,其路径可能会变化;

第9/10章 IP路由

1、IGP之RIP路由(基于距离向量)——基于UDP,使用端口号520
2、IGP之OSPF最短路径优先(基于链路状态)——直接使用IP
在一个链路状态协议中,路由器并不与其邻站交换距离信息。它采用的是每个路由器主动地测试与其邻站相连链路的状态,将这些信息发送给它的其他邻站,而邻站将这些信息在自治系统中传播出去。每个路由器接收这些链路状态信息,并建立起完整的路由表。
在这里插入图片描述

3、 EGP之BGP:边界网关协议——基于TCP
BGP系统与其他BGP系统之间交换网络可到达信息。这些信息包括数据到达这些网络所必须经过的自治系统AS中的所有路径。这些信息足以构造一幅自治系统连接图。然后,可以根据连接图删除选路环,制订选路策略。
BGP是一个距离向量协议,但是与(通告到目的地址跳数的)RIP不同的是,BGP列举了到每个目的地址的路由(自治系统到达目的地址的序列号)。
BGP通过定期发送keepalive报文给其邻站来检测TCP连接对端的链路或主机失败。

第11章 UDP: 用户数据包协议

1、UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。
在这里插入图片描述

2、UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为8字节(发送一份0字节的UDP数据报是OK)。
2、UDP和TCP在首部中都有覆盖它们首部和数据的检验和。UDP的检验和是可选的,而TCP的检验和是必需的。
注:UDP校验和:12字节UDP伪首部+UDP首部+数据(必要会填充0,但这些填充字节只是为了计算,不会传输);对于TCP校验和类似;
4、 IP分片
1) IP分片可以发生在发送端,也可以发生在中间路由器;已经分片的IP数据报,可能还需要分片;
2) 一份IP数据报分片以后,只有达到目的地才进行重新组装;(由目的端的IP层完成);
3) 当IP分片的数据报在目的端失序时,会进行正确重组;
4) 当IP分片中某一个数据报丢失,会导致整个IP报丢失(在TCP中,导致重传整个数据报;在UDP中,UDP数据报丢失);这主要是因为IP层提供不可靠的传输,没有超时重传等机制;
注:因此,要尽量避免分片;此外分片也会使得网络实际传输的数据变得更大;(需要更多的头部)
5)在第一个数据报片出现时,IP层必须启动一个定时器。这里“第一个”表示给定数据报的第一个到达数据报片,而不是第一个数据报片(数据报片偏移为0)。正常的定时器值为30或60秒。如果定时器超时而该数据报的所有数据报片未能全部到达,那么将这些数据报片丢弃。
5、一般要求主机必须能够接收最短为576字节的IP数据报;因此实际UDP长度大多会小于568字节;
6、数据报截断
7、应用程序并不知道其输入队列何时溢出。只是由UDP对超出数据报进行丢弃处理。没有发回任何信息告诉客户其数据报被丢弃。

第12章 多播和广播

1、 广播的问题:增加了对广播数据不感兴趣主机的处理负荷;而多播的出现减少对应用不感兴趣主机的处理负荷。(网卡可以获悉该主机属于哪个多播组,然后仅接收主机所在多播组的那些多播帧)
在这里插入图片描述

第14章 DNS:域名系统

1、 DNS的一个基本特性是使用超高速缓存;
2、 DNS询问报文,有两种:递归和迭代;
3、 DNS使用的熟知端口号无论对UDP还是TCP都是53.
注:在查询应答时采用UDP,如果报文太长,改用TCP;对于主DNS和辅助DNS之间使用TCP进行传输(定时更新);
在这里插入图片描述

第15章 TFTP:简单文件传送协议

1、 TFTP采用不可靠的UDP,因此TFTP必须处理分组丢失和分组重复;
注:分组丢失:超时重传;分组重复:序号;
2、 TFTP没有提供安全特性;

第17章 TCP:传输控制协议

在这里插入图片描述
在这里插入图片描述
1、应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变,仅仅会由IP进行分片。由TCP传递给IP的信息单位称为报文段或段;
在这里插入图片描述

2、当建立一个新的连接时,SYN标志变1。序号字段包含由这个主机选择的该连接的初始序号ISN(Initial Sequence Number)。该主机要发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号。
3、确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加1。只有ACK标志为1时,确认序号字段才有效。
4、TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始
于确认序号字段指明的值,这个值是接收端正期望接收的字节。
5、TCP校验和:TCP伪首部+TCP首部+TCP数据部分;
6、只有当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。
7、最常见的可选字段是最长报文大小,又称为MSS (Maximum Segment Size)。每个连接方
通常都在通信的第一个报文段(为建立连接而设置SYN标志的那个段)中指明这个选项。它指明本端所能接收的最大长度的报文段。发端将不接收超过这个长度的TCP报文段。这通常是为了避免分段。
8、在一个连接建立和一个连接终止时,双方交换的报文段仅有TCP首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。
9、TCP将用户数据打包构成报文段;它发送数据后启动一个定时器;另一端对收到的数据
进行确认,对失序的数据重新排序,丢弃重复数据; TCP提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。

第18章 TCP连接建立与终止

1、当一端为建立连接而发送它的SYN时,它为连接选择一个初始序号。ISN随时间而变化,
因此每个连接都将具有不同的ISN。RFC 793 [Postel 1981c]指出ISN可看作是一个32比特的计数器,每4ms加1。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它作错误的解释。
2、收到一个FIN只意味着在这一方向上没有数据流动。一个TCP连接在收到一个FIN后仍能发送数据。
3、最大报文段长度MSS表示TCP传往另一端的最大块数据的长度。当一个连接建立时,连接的双方都要通告各自的MSS。如果一方不接收来自另一方的MSS值,则MSS就定为默认值536字节(这个默认值允许20字节的IP首部和2 0字节的T C P首部以适合576字节IP数据报)。
4、可将MSS值设置为外出接口上的MTU长度减去固定的I P首部和TCP首部长度;
5、MSS让主机限制另一端发送数据报的长度。加上主机也能控制它发送数据报的长度,这
将使以较小MTU连接到一个网络上的主机避免分段。
6、TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力
在这里插入图片描述

7、TIME_WAIT中的2MSL等待状态,MSL为一个报文段最大生存时间;MSL规定为2分钟,但常用为30s,1m,2m;
8、在连接处于2MSL等待时,任何迟到的报文段将被丢弃。因为处于2MSL等待的、由该socket pair定义的连接在这段时间内不能被再用;但一般会更加严格,使得处于2MSL等待的本地端口不能重用,除非设置SO_REUSEADDR,使得本端口可用,但这个处于2MSL的socket pair连接依然是不可用的;
9、为了防止这种情况,RFC 793指出TCP在重启动后的MSL秒内不能建立任何连接。这就称为平静时间(quiet time)。(一般会违反?)
10、一般说来,无论何时一个报文段发往基准的连接出现错误, TCP都会发出一个复位报文段(这里提到的“基准的连接”是指由目的IP地址和目的端口号以及源I P地址和源端口号指明的连接。)
1)到不存在的端口的连接请求
对于UDP,产生ICMP端口不可达;对于TCP,产生RST报文;
2)异常终止一个连接(可以使用Linger)
异常终止一个连接对应用程序来说有两个优点:(1)丢弃任何待发数据并立即发送复位
报文段;(2)RST的接收方会区分另一端执行的是异常关闭还是正常关闭。应用程序使用的A P I必须提供产生异常关闭而不是正常关闭的手段。
注:RST报文段不会导致另一端产生任何响应,另一端根本不进行确认。收到RST的一方将终止该连接,并通知应用层连接复位。
3)检测半打开连接
如果一方已经关闭或异常终止连接而另一方却还不知道,我们将这样的TCP连接称为半打开Half-Open的。任何一端的主机异常都可能导致发生这种情况。只要不打算在半打开连接上传输数据,仍处于连接状态的一方就不会检测另一方已经出现异常。
半打开连接的另一个常见原因是当客户主机突然掉电而不是正常的结束客户应用程序后再关机。
有这么两种情况:A.在半打开状态,发送数据,多次重传之后,发送RST,关闭连接;B.在半打开状态,对端下线后又重新上线,这时候再发送数据给对端,对端会发送RST.
注:收到RST后,socket会返回什么?
注:读一个收到RST的socket返回-1,并且设置errno为ECONNRESET;
注:当socket收到RST后,第一次read或者write,会收到ECONNRESET错误,再次write的时候,会引起SIGPIPE信号(而再次read的时候,返回0?);
参考:http://www.bubuko.com/infodetail-766481.html
11、同时打开
在这里插入图片描述

12、同时关闭
在这里插入图片描述

13、处于TCP已连接队列中的TCP连接,如果客户端发送数据,会将接收到的数据放入接收缓冲队列中;
14、如果TCP已连接队列已满,这时候TCP将不会理睬SYN,也不发送任何报文段(即不发回RST)。
注:发送SYN的一端,会等一段时间重新发送;这主要是TCP已连接队列满是软错误,而不是硬错误,也许再试一次,就成功了,如果多次不成功,应该就是直接关闭了。
15、一个TCP连接由一个4元组唯一确定:本地IP地址、本地端口号、远端IP地址和远端端口号。
16、处于TIME_WAIT的一段,重复的FIN会得到确认,2MSL定时器重新开始。
17、在TIME WAIT状态中收到一个RST引起状态过早地终止。

第19章 TCP的交互数据流

1、 交互数据总是以小于最大报文段长度的分组发送。导致网络利用率低下。
2、 接收端:延时确认; (在一定时间内有数据发送,就捎带ACK)
3、 发送端:Nagle算法;
要求一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的确认到达之前不能发送其他的小分组。相反, TCP收集这些少量的分组,并在确认到来时以一个分组的方式发出去;

第20章 TCP成块数据流

1、累积确认;(通常使用的“隔一个报文段确认”的策略)
注:存在定时器;
注:当返回0窗口确认报文时,当该接收窗口空闲空间变大时,会再发送一个携带接收窗口长度的确认报文,以更新窗口;——但是这个ACK可能会丢失,因此依然需要坚持定时器
注:许多TCP实现在窗口大小增加了两个最大报文段长度或者最大可能窗口的50%时发送这个窗口更新;
2、延迟确认:通常TCP在收到数据的时候不会立刻发送一个ACK确认,它会延迟发送,可以和对方需要的数据一起发送(数据捎带ACK)或者是等待第二个数据来了直接回复第二个ACK,通常的实现采用的延迟是200ms(就是说它会等待200ms有没有数据一起发送)
2、滑动窗口
窗口的大小是相对于确认序号的。
3、发送方使用PSH标志通知接收方将所收到的数据全部提交给接收进程。
4、慢开始
发送方取拥塞窗口与通告窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制,而通告窗口则是接收方使用的流量控制。
5、TCP提供了“紧急方式( urgent mode) ”,它使一端可以告诉另一端有些具有某种方式的
“紧急数据”已经放置在普通的数据流中。另一端被通知这个紧急数据已被放置在普通数据流中,由接收方决定如何处理。
在这里插入图片描述
注:即使发送窗口为0,依然可以发送URG+ACK空报文;(而且处于URG状态,每一次调用输出操作,都会触发URG,如果是发送窗口为0,则发送URG+ACK空报文)
注:TCP的紧急方式只是一个从发送方到接收方的通知,该通知告诉接收方紧急数据已被发送,并提供该数据最后一个字节的序号。

第21章 TCP的超时与重传

1、TCP4种定时器
在这里插入图片描述

2、超 时重传
多次重传后(重传时间为指数退避),发送RST关闭连接;
3、大多数源于伯克利的TCP实现在任何时候对每个连接仅测量一次RTT值。
4、快重传:连续3次收到重复确认,则重传;
注:当接收方,收到失序的包时,会保存这些数据,并产生重复ACK;当收到失序包时,会进行正常的ACK;
注:在收到一个失序的报文段时,TCP立即需要产生一个ACK(一个重复的ACK)。这个重复的ACK不应该被迟延。该重复的ACK的目的在于让对方知道收到一个失序的报文段,并告诉对方自己希望收到的序号。
注:快速重传机制只解决了一个问题,就是超时时间的问题,但是它依然面临着另外一个问题。就是重传的时候,是重传之前的一个,还是重传所有的问题。根据 TCP 不同的实现,以上两种情况都是有可能的。而SACK则是只重传丢失的数据(告诉对端自己受到了那些包)。D-SACK则是使用了 SACK 来告诉「发送方」有哪些数据被重复接收了。D-SACK 优点:可以让「发送方」知道,是发出去的包丢了,还是接收方回应的 ACK 包丢了;可以知道是不是「发送方」的数据包被网络延迟了;可以知道网络中是不是把「发送方」的数据包给复制了。
5、慢开始:初始设置cwnd为1个报文段,此后每收到一个确认就加1。因此是指数增长;而拥塞避免,则是要求每次收到一个确认时将cwnd增加1 cwnd。与慢启动的指数增加比起来,这是一种加性增长(additive increase)。我们希望在一个往返时间内最多为cwnd增加1个报文段(不管在这个RTT中收到了多少个ACK),然而慢启动将根据这个往返时间中所收到的确认的个数增加cwnd。
在这里插入图片描述

6、快重传与快恢复
连续3次收到重复确认,则重传失序包,并进行快恢复;
注:重复的A C K的目的在于让对方知道收到一个失序的报文段,并告诉对方自己希望收到的序号。
注:由于我们不知道一个重复的ACK是由一个丢失的报文段引起的,还是由于仅仅出现了几个报文段的重新排序,因此我们等待少量重复的ACK到来。假如这只是一些报文段的重新排序,则在重新排序的报文段被处理并产生一个新的ACK之前,只可能产生1 ~ 2个重复的ACK。如果一连串收到3个或3个以上的重复ACK,就非常可能是一个报文段丢失了。
注:在这种情况下没有执行慢启动的原因是由于收到重复的ACK不仅仅告诉我们一个分组丢失了。由于接收方只有在收到另一个报文段时才会产生重复的ACK,而该报文段已经离开了网络并进入了接收方的缓存。也就是说,在收发两端之间仍然有流动的数据,而我们不想执行慢启动来突然减少数据流。
在这里插入图片描述

快重传和慢开始原理:
1) 收到连续3次的重复确认,则将ssthresh设置为cwnd/2,并且重传失序包。而cwnd则是再加上3个报文段;
2) 之后被收到一个重复ACK,则cwnd++;
3) 最后,收到新数据的ACK,则cwnd设置为ssthresh
注:每次DUP ACK,你还能去发送新的数据;避免中间长时间被浪费。
7、重新分组
当TCP超时并重传时,它不一定要重传同样的报文段。相反, TCP允许进行重新分组而发送一个较大的报文段,这将有助于提高性能(当然,这个较大的报文段不能够超过接收方声明的MSS)。在协议中这是允许的,因为TCP是使用字节序号而不是报文段序号来进行识别它所要发送的数据和进行确认。

第22章 TCP的持续定时器

1、 持续定时器使用了普通的TCP指数退避,但是总是在5-60s内。
2、 0窗口探测报文包含一个字节的数据。(TCP总是允许在关闭连接前发送一个字节的数据);尽管如此,锁返回的窗口为0的ACK并不是确认该字节,因此这个字节被持续重传;
3、 坚持状态与超时重传不同点在于TCP从不放弃发送窗口探测;
4、 糊涂窗口综合症:少量的数据通过连接进行交换,而不是满长度的报文段;
在这里插入图片描述

发送端:延迟确认;只有在窗口空闲一定长度时,才发送更新窗口值;
发送端:Nagle、Cork;

第23章 TCP的保活定时器

在这里插入图片描述
注:主机关闭时,一般会发送FIN;而主机崩溃时,则什么都不发送;
注:保活包,有服务器和客户端双向开启;

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 408考研知识总结分析

    MY FIRST CSDN 第一次写文章,现在正在考研,以后会把每天学到的知识分享到这里,许愿考研成功,啊,我太难了...

    2024/4/20 17:05:17
  2. win10+cmake+opencv3.4+contrib+gpu踩坑记录

    win10+opencv3.4+contrib+gpu踩坑记录 不要使用vs2019 不知道是我的cuda版本不支持还是opencv3.4不支持,cmake成功之后在vs2019上无法生成解决方案,最后使用vs2017 CMAKE时一定要选中 OPENCV_ENABLE_NONFREE 不选中的话,在创建surf探测器时直接报 未解决的异常。 C2039 “Co…...

    2024/4/15 15:17:16
  3. win10安装torch

    win10安装torch pip3 install https://download.pytorch.org/whl/cu80/torch-1.0.1-cp35-cp35m-win_amd64.whl pip3 install torchvision...

    2024/5/8 20:10:30
  4. 38:之字型打印二叉树

    之字型打印二叉树 二叉树层次遍历的变种,我们可以使用两个栈来保存待打印数据即可 public class Offer38 {public static void main(String[] args) {TreeNode node = Main.createNode();cengci(node);}public static void cengci(TreeNode root){if (root==null)return;//先存…...

    2024/4/15 15:17:15
  5. 初学——面向对象的三大特征

    面向对象的三大特征 我们都知道面向对象的三大特征是:封装、继承、多态 接下来就有我从一个初学者的角度带你们来看这三个特征。 封装 封装就是隐藏内部细节,对外面提供公共访问方法,用private修饰。尝试用setxxx/getxxx,或者构造有参和无参构造,给外界提供一个公共的访问方…...

    2024/5/8 21:37:27
  6. 7-15 QQ 帐户的申请与登陆(25 分)

    实现 QQ 新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的 QQ 号码已经有 10 位数了。 输入格式: 输入首先给出一个正整数 N(≤10​5​​),随后给出 N 行指令。每行指令的格式为:“命令符(空格)QQ 号码(空格)密码”。其中命令符为“N”(代表 New)时表示…...

    2024/5/8 17:18:24
  7. 运营商和大数据可以做什么?

    中央经济工作会议的召开,为2019年经济工作方向确定了基本基调。从推动形成强大的国内市场,到加快5G商用步伐,加强人工智能、工业互联网、物联网等新基础设施建设。一系列精神背后的核心是“扩大内需”,对于运营商来说,如何大惊小怪地“扩大内需”挖掘业务潜力,大数据运营…...

    2024/5/8 16:14:22
  8. 网络滴神,TCP!

    TCP在网络协议(网络协议见这篇文章)中是非常重要的,要说有多重要的话,那就像珍珠奶茶的奶茶一样。1. 三次握手TCP在进行数据的传输之前必须先建立连接,建立之后才能进行数据的传输,那么所谓的建立连接是怎么回事呢?来看下其三次握手。客户端发送SYN和seq序列号,SYN为标…...

    2024/4/15 17:42:20
  9. 07-call、 apply和 bind的使用

    call、 apply和 bind的使用 一、用途 call()、apply()、bind() 都是用来重定义 this 这个对象的, 二、区别 call:改变了this指向 并 让函数执行,传递参数一个个传递 apply:改变了this指向 并 让函数执行,传送参数必须是数组 bind:改变了this指向 函数不执行。 三、使用 1…...

    2024/4/22 3:01:31
  10. 版本控制

    ​ 版本控制:集中式版本控制(SVN),分布式版本控制(Git) ​ 版本控制工具的功能:协同修改、数据备份、版本管理(SVN:增量式版本控制;Git:文件系统快照)、权限控制(Git独有)、历史记录、分支管理 Git ​ Git官网:https://git-scm.com/ 本地结构 ​ 工作区——…...

    2024/4/23 4:31:03
  11. mybaties中resultMap和resultType的区别

    mybaties中resultMap和resultType的区别单表查询:resultMap:关联查询(一对一):关联查询(一对多):总结下: 今天发现平时收藏的文章太多了,所以整理下,该篇文章为转载哈。 基本映射 :(resultType)使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一…...

    2024/4/20 15:00:43
  12. 数据库字符集问题解决(Incorrect string value: ‘\xE5\xBC\xA0\xE6\x97\xA0...‘ for column ‘name‘ at row 1)

    Incorrect string value: \xE5\xBC\xA0\xE6\x97\xA0... for column name at row 1这个错误的原因就是数据库的默认编码格式为latin1,而你要将utf8的中文插入到表中。然后就将表的格式改为utf8。使用指令为:alter table stu character set utf8;但修改后发现还是不能将数据添加…...

    2024/5/8 12:55:28
  13. 36V舞台灯降压恒流驱动IC方案 PWM/模拟/RGBW调光无频闪共阳调光调色 H5119L惠海

    1.方案名称:36V舞台灯降压恒流驱动IC方案 PWM/模拟/RGBW调光无频闪共阳调光调色 H5119L 2.品牌名称:惠海半导体 3.公司介绍:东莞市惠海半导体有限公司专业从事研发、设计、生产、销售高品质、高性能、共阳极高辉度调光无频闪LED景观亮化照明、洗墙灯、舞台灯恒流调光驱动芯片…...

    2024/5/8 17:58:26
  14. fatal error C1189: #error:  Building MFC application with /MD[d] (CRT dll version) requires MFC...

    错误信息: #error 指令: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] Gerber_Reader_ConsoleApp c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\incl…...

    2024/5/8 13:49:28
  15. 软件测试工程师面试问题总结

    1、 迭代:一周或者是两周迭代一次,版本更新,会增加新的需求,迭代一次不会进行用例的评审。一个小的需求一般10条用例 2、 Stub对桩函数:在单元测试长辈其他模块调用,在自底向上的集成过程中尤其有效 3、 测试工具: 功能自动化测试工具:QTP RFP QARun Silk 性能测试工…...

    2024/4/15 17:42:12
  16. centos设置静态ip并连接互联网

    虚拟机设置静态ip经常记不住,这里总结一下,此处针对的操作系统为centos7 其他linux可能有些命令不同vm 设置网络连接设置NAT设置网段与网关 在虚拟机->编辑->虚拟网卡设置设置本机ip 在网络连接中,找到vm8网卡,设置IP地址与子网掩码基本就可以linux设置在安装系统时有一…...

    2024/4/16 23:22:01
  17. python-Windows服务启动时,报错服务没有及时响应启动或控制请求

    C:\Users\Administrator\PycharmProjects\XianAutotest\test>python pythonservice.py start Starting service PythonService Error starting service: 服务没有及时响应启动或控制请求。解决方法:python默认安装是作为LocalSystem,配置的是用户路径而不是环境变量,所以…...

    2024/5/7 21:40:22
  18. knn的练习题---小麦种类预测

    读取seeds.tsv文件(文件已经上转到本博客下载中心,可免费下载), 最后一列是小麦品种,其他列是小麦特征 导包 import numpy as np import pandas as pd import matplotlib.pyplot as plt数据获取 seeds = pd.read_csv(./seeds.tsv,sep=\t,header=None)data = seeds.iloc[:,…...

    2024/4/25 13:11:40
  19. TypeError: ‘b\... has type str, but expected one of: bytes

    报错信息:Traceback (most recent call last):File "D:\ProgramSoftware\Anaconda3\envs\tensorflow1.0\lib\threading.py", line 914, in _bootstrap_innerself.run()File "D:\ProgramSoftware\Anaconda3\envs\tensorflow1.0\lib\threading.py", line 86…...

    2024/5/3 11:11:04
  20. Spring Data JPA 数据分页与排序

    分页 Pageable 是Spring定义的接口,用于分页参数的传递,我们看看如何使用它。首先将ArticleRepository注入到你需要进行持久层操作的类里面,通常是一个@Service注解的类,然后在服务方法内使用如下代码进行分页操作:查询第一页(从0开始)的数据,每页10条数据。 public inte…...

    2024/4/14 20:53:43

最新文章

  1. DEV--C++小游戏(吃星星(0.2))

    目录 吃星星(0.2) 简介 分部代码 头文件(增) 命名空间变量(增) 副函数(新,增) 清屏函数 打印地图函数(增) 移动函数 选择颜色&#xff…...

    2024/5/8 23:20:15
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. javaWeb网上零食销售系统

    1 绪 论 目前,我国的网民数量已经达到7.31亿人,随着互联网购物和互联网支付的普及,使得人类的经济活动进入了一个崭新的时代。淘宝,京东等网络消费平台功能的日益完善,使得人们足不出户就可以得到自己想要的东西。如今…...

    2024/5/8 15:41:52
  4. 基于物联网的智能家居远程视频监控系统设计与实现

    基于物联网的智能家居远程视频监控系统设计与实现 摘要:随着物联网技术的快速发展,智能家居系统已成为提升家居安全性和便利性的重要手段。本文设计并实现了一套基于物联网的智能家居远程视频监控系统,该系统结合了嵌入式技术、网络通信技术…...

    2024/5/8 11:22:52
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义:dp[i][j]表示当背包容量为j,用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/8 19:32:33
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/7 22:31:36
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon,直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件,我们讨论Spring负载均衡以Spring Cloud2020之后版本为主,学习Spring Cloud LoadBalance,暂不讨论Ribbon…...

    2024/5/8 1:37:40
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…...

    2024/5/8 20:33:13
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时,常要分析网页Html,例如网页在加载数据时,常会显示“系统处理中,请稍候..”,我们需要在数据加载完成后才能继续下一步操作,如何抓取这个信息的网页html元素变化&…...

    2024/5/8 1:37:39
  10. 【Objective-C】Objective-C汇总

    方法定义 参考:https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/7 16:57:02
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...

    2024/5/7 14:58:59
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/8 20:58:56
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕,各大品牌纷纷晒出优异的成绩单,摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称,在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁,多个平台数据都表现出极度异常…...

    2024/5/7 21:15:55
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/8 1:37:35
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b,我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边, b b b 同理,则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/7 16:05:05
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/8 18:06:50
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限(ROW FORMAT)配置标准HQL为: ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/8 1:37:32
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中,传感器和控制器产生大量周…...

    2024/5/7 16:05:05
  19. --max-old-space-size=8192报错

    vue项目运行时,如果经常运行慢,崩溃停止服务,报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中,通过JavaScript使用内存时只能使用部分内存(64位系统&…...

    2024/5/8 1:37:31
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...

    2024/5/8 1:37:31
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧! 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象…...

    2024/5/8 12:44:41
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错,但存在一个缺陷:无法禁止通过实例化多个对象来创建多名总统: President One, Two, Three; 由于复制构造函数是私有的,其中每个对象都是不可复制的,但您的目…...

    2024/5/8 9:51:44
  23. python django 小程序图书借阅源码

    开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 用户端: 登录注册(含授权登录) 首页显示搜索图书,轮播图&#xff0…...

    2024/5/8 1:37:29
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/7 17:09:45
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57