TCP连接关闭时怎么少了一次挥手ACK

1) 先启动tcpdump抓包
tcpdump -p -vv -s 0 -w capture.pcap host 42.62.41.195
2) 利用telnet登陆“水木”社区来观察TCP的3次握手连接建立和4次挥手连接关闭
telnet 42.62.41.195
3) 用wireshark分析抓取的封包capture.pcap发现TCP连接关闭时少了1次挥手ACK

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
tcp4次挥手中,通过抓包发现只有3次挥手,其中ACK push fin都为1
tcp4次挥手中,通过抓包发现只有3次挥手,其中ACK push fin都为1 服务端在建立连接请求后返回数据给客户端,ack push fin都为1,等于是返回数据的同时发送fin请求,
一次奇异的TCP长连接握手问题,一次SYN握手信息收到两个SYN\ACK的确认信息,导致后面的数据包传输有问题
最近在生产环境连接对方系统的TCP长连接时,发现一个问题。 我们是客户端。 我们发起第一次的握手信息[SYN] seq=0 正常服务器应该返回[SYN\ACK] seq=0, ack=1。 见下图测试环境: ![图片说明](https://img-ask.csdn.net/upload/201810/31/1540957173_877633.jpg) 1、握手信息seq对不上,收到两个[SYN\ACK]数据包: 但是在生产环境中,我们发起了第一次的握手信息[SYN] seq=0 服务器返回了两个[SYN\ACK]数据包,而且seq、ack号都不一定能对上。 导致我们后续传输的都是基于这两个数据包的seq、ack号。 ![图片说明](https://img-ask.csdn.net/upload/201810/31/1540956898_98680.jpg) 请问有遇过这样的问题吗?可以提供排查思路吗?谢谢!
【TCP\ACK】关于TCP/IP的包,其中TCP的数据包和TCP的ACK包究竟有什么区别啊?
如题。是ACK包是ACK置位的但不含数据的包吗?简单来说我是想实现一个TCP的加速,通过ACK欺骗来实现,但是现在有点搞不懂这个如上的问题,如果我要伪造一个ACK的应答包,需要怎样的格式呢?以及是不是TCP包中只要ACK位置1就是包含了应答信息的?谢谢大家~
为什么我的tcp关闭是三次挥手而不是四次挥手?
![图片说明](https://img-ask.csdn.net/upload/201605/07/1462625150_441593.jpg) 我用tcpdump抓包,得到的是 1:客户端发送fin+ack 2:服务器发送fin+ack 3:客户端发送ack 其中,2中的fin+ack省去了服务器给客户端发送的ack 这种情况是不是出现在客户端也是服务器(即双方即都是服务器又是客户端)? 求大神解答?
TCP网络 四次挥手怎么不一样?
各位网络大神 求帮忙: 1.我用我的电脑访问一个网站首页,想要做的就是用网络抓包看一下,它是如何进行三次握手和四次挥手的,三次握手和四次挥手的逻辑我懂了,而且三次握手我看得懂,四次挥手这里,为什么会FIN和ACK 一起发送了,不是应该客户端发送FIN 服务器在发送A CK,然后服务器发送FIN 客户端在发送ACK的吗 ,希望你能帮到我, 2.如果我抓其他网站的数据包,怎么在wireshark 快速定位到我访问的网站。 ![图片说明](https://img-ask.csdn.net/upload/201711/08/1510147942_680696.png)
发送tcp数据时,不同socket的数据及ACK有无优先级区别
同时两个tcp流 一个正在发送数据,sendbuffer内还有多个包未发 另一个收到数据 需要发送ACK 那这个ACK是不是要等第一个流的sendbuffer被发完后再发送? 能不能插队? 谢谢
TCP断开连接为什么需要4次握手?3次不行吗?
在CSDN博客里找到一个普遍的解释:“这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。” 既然是多数情况下都是分开发送,那是否存在一起发送的情况呢?也就是说:第1次握手,Client->Server(FIN),第2次握手:Server->Client(FIN+ACK),第3次握手:Client->Server(ACK)
rabbitmq的ack非常慢,求答案
![图片说明](https://img-ask.csdn.net/upload/201912/12/1576128951_849421.png) 如图所示,我消费消息的时候没有写业务逻辑,就是直接ack了,理论上这个ack值应该很大的嘛,现在就是上不去。我有两个环境的rabbitmq,一个能达到进200,但另一个就是在20多,就是上不去。请问这个原因大概在哪里?
中间人攻击时,中间人设置IP转发失败
最近刚接触ARP欺骗,在网络上看到ARP欺骗在局域网内可以做到中间人攻击,因此使用Python做了测试。 ``` while True: # spoof user sendp(Ether(dst=dst_mac) / ARP(psrc=gateway_ip, hwsrc=my_mac, pdst=dst_ip,hwdst=dst_mac, op=2)) # spoof gateway sendp(Ether(dst=gateway_mac) / ARP(psrc=dst_ip, hwsrc=may_mac', pdst=gateway_ip, hwdst=gateway_mac, op=2)) # time wait in second time.sleep(0.2) ``` 其中,dst代表目标欺骗的PC。运行代码后,使用Wireshark抓包,发现dst一次性发了3条TCP SYN。在中间人上抓到了6条,其中3条本应该由中间人转发至外部IP的,但是显示TCP Out of order,似乎没有发出去,因为没有收到外部IP的SYN/ACK。我发现端口都是61321(可变)->80。中间人电脑已经在服务和注册表中enable了路由转发,而且Out of order的TCP包也是因为开了转发才有的,但是却出现了TCP out of Order的错误,导致我能截获目标PC的流量,却无法把流量成功转发出去。 中间人和目标PC都是win10 1903。
echo测试服务器和客户端,大量连接失败,关闭时又会出现僵尸established连接
写了个测试客户端和服务器,服务器使用IOCP,客户端使用select。客户端开始时指定开启512个socket连接服务器。连接失败则重新连接,连接成功,则发送数据到服务器。服务器收到数据就回复同样的字符给客户端。 但是出现以下情况: 1.客户端开启512个连接,只有一部分连接的上。错误的提示是10060,连接超时,服务器accept的错误是64(网络明不再可用)。 感觉是不是,服务器连接上了,没来及处理,导致客户端删除,服务器处理时,又晚了。有没方法解决?一开始猜测是不是select后,在exceptfdset中可以不用理他,继续投递,测试后感觉又不是这个样子。因为,我这样测试:把select等待时间弄成0,0即刻返回,但是accept也有既不是成功也不是except中,说明不出错是会去等待的,不是非成功就失败的。但这种TimeOut是正常的吗?可以把这个TimeOut时间调长点吗? 2.客户端关闭后,他的一部分socket关不掉,服务器上netstat查看发现有部分established连接依旧在。 是不是客户端某些连接关闭时发送的FIN丢失或未发送?我认为如果对这种对端实际关闭的established连接,进行send,投递后,会返回错误,因为我认为send后会得到回馈,就如syn-ack一样。但是测试后发现,send居然还是可以成功,搜索网络后,得到的结论是,send,仅仅是发送到系统缓存,成功只是说明发送到缓冲区了,对端收得到否,得不到回馈。不知这个结论是不是正确的?这种僵尸established连接是不是有可能在对端不正常关闭(拔网线等极端状态)时存在?目前我使用开启keep-alive选项解决。这种僵尸established连接,程序会稍后recv得到通知而断开。 最后,经过分析和实验,我感觉,以上的问题是网络不可阻的问题,最后我只是在程序中为每个连接开启了keep alive的选项。
NS2 中tcp源代码关于处理接收到的ack包问题
TcpAgent函数中的newack(Packet *pkt)函数负责对新到达的ack包进行处理, 在该函数里,既然是处理信道的ack包,用什么函数能够获得该ack包的到达时间。下面有个图,是这个函数里面的内容![图片说明](https://img-ask.csdn.net/upload/201511/14/1447489347_344613.png) 里面的ts_echo_=tcph->ts_echo(); 这个就是我想要的ack包的到达时间么?
想用原始套接字发送syn请求,出现一个问题,是因为构建的包的格式有问题吗?
``` import random import socket import struct import array def create_socket(): s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL,1) return s def get_host_ip(): s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.connect(('8.8.8.8',80)) ip=s.getsockname()[0] s.close() return ip def doCksum(packet): words = array.array('h', packet) sum = 0 for word in words: sum += (word & 0xffff) sum = (sum >> 16) + (sum & 0xffff) sum += (sum >> 16) return (~sum) & 0xffff def create_ip_header(source_ip, dest_ip): # ip 头部选项 headerlen = 5 version = 4 tos = 0 tot_len = 20 + 20 id = random.randrange(18000,65535,1) frag_off = 0 ttl = 255 protocol = socket.IPPROTO_TCP check = 10 saddr = socket.inet_aton ( source_ip ) daddr = socket.inet_aton ( dest_ip ) hl_version = (version << 4) + headerlen ip_header = struct.pack('BBHHHBBH4s4s', hl_version, tos, tot_len, id, frag_off, ttl, protocol, check, saddr, daddr) return ip_header def create_tcp_syn_header(source_ip, dest_ip, dest_port): source = random.randrange(32000,62000,1) seq = 0 ack_seq = 0 doff = 5 fin = 0 syn = 1 rst = 0 psh = 0 ack = 0 urg = 0 window = socket.htons(8192) check = 0 urg_ptr = 0 offset_res = (doff << 4) + 0 tcp_flags = fin + (syn<<1) + (rst<<2) + (psh<<3) + (ack<<4) + (urg<<5) tcp_header = struct.pack('HHLLBBHHH', source, dest_port, seq, ack_seq, offset_res, tcp_flags, window, check, urg_ptr) source_address = socket.inet_aton( source_ip ) dest_address = socket.inet_aton( dest_ip ) placeholder = 0 protocol = socket.IPPROTO_TCP tcp_length = len(tcp_header) psh = struct.pack('4s4sBBH', source_address, dest_address, placeholder, protocol, tcp_length) psh = psh + tcp_header tcp_checksum = doCksum(psh) tcp_header = struct.pack('HHLLBBHHH', source, dest_port, seq, ack_seq, offset_res, tcp_flags, window, tcp_checksum, urg_ptr) return tcp_header source_ip = get_host_ip() dest_ip = '112.80.248.75' s = create_socket() ip_header = create_ip_header(source_ip,dest_ip) tcp_header = create_tcp_syn_header(source_ip,dest_ip,80) packet = ip_header + tcp_header s.sendto(packet,(dest_ip,80)) ``` **结果** ![图片说明](https://img-ask.csdn.net/upload/201912/17/1576595985_556527.png)
发送端TCP的发送缓存设置为10K, 接收端接收缓存设置为10K,接收端一直不调用RECV去接收,那么发送端到底能发送出多少数据?
1. 编写TCP server和Client程序 2. server端在accept之前调用setsockopt(slisten, SOL_SOCKET, SO_RCVBUF,(char*)&uiRcvBuf, uiRcvBufLen);将接收缓存设置为10K. 3. cleint端在bind之前调用setsockopt(slisten, SOL_SOCKET, SO_SNDBUF,(char*)&uiSendBuf, uiSendBufLen);将发送缓存设置为10K 4. cleint端调用send函数发送,相关代码如下: ``` int n = 50; char sendData[1024]; int len = sizeof(sendData); printf("sendlen = %u",len); for (int i = 0;i < len; i++) { sendData[i] = 0x01; } while (n) { int iResult = send(sclient, sendData, len, 0 ); if (iResult == SOCKET_ERROR) { printf("send failed with error: %d\n", WSAGetLastError()); getchar(); closesocket(sclient); WSACleanup(); return 1; } n--; printf("Bytes Sent: %d,%d\n", iResult,50-n); } ``` 5. server端不调用recv函数接收 7. wireshark抓包显示如下: ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576743174_639138.jpg) 8. cleint测试端发送了30k数据后停住了(send是阻塞式) **疑问:** 1. wireshark图中为什么在第一个红色框图的时候win才开始变化(win从10240变成7736)?这之前的数据是存在哪里的?不是接收缓存?不应该从接收第一个包开始就开始减少吗? 2. wireshark图中第一个红色框图为什么会有大于20k的数据(ack=21049)? 3. 为什么从wireshark看到server接收了20k多的数据,而不是10k? 4. cleint端为什么能够send出30k数据才停下来?
TCP存在BUG?ACK包携带交易数据
![图片说明](https://img-ask.csdn.net/upload/201711/09/1510205827_610439.png) A和B使用的是长连接。链接会频繁断开重连,抓包发现重置链接([RST,ACK])是A发起的,但A之所以发起重连是由于收到了异常报文。下图5500行为B发起德尔异常报文。正常情况下[ACK]包data段是不含报文(len=0)的,但这两个包都有1368bytes的报文。分析这段报文,其中包含两笔交易报文,且第二笔报文不完整,导致对方解析失败,发起重连操作。应用上发出去的这两笔交易报文都是完整的,且格式无异常。 请问各位大神,什么情况下[ACK]包会携带交易数据?另外此[ACK]未对任何报文进行确认。
i2c设备和设备地址是好的,但是为什么读写数据发送完设备地址后没有ack回复?
最近在君正的x1000平台,linux kernel调试ov7725摄像头驱动,驱动是写好的,编译到内核镜像,在驱动中通过i2c对sensor初始化是可以正常读写寄存器数据的,抓到的正确波形如下 ![图片说明](https://img-ask.csdn.net/upload/201912/30/1577690158_940306.jpg) 可是我在应用层通过ioctl的O_RDWR访问i2c总线的方式读写寄存器就会报中断错误,抓到的波形如下 ![图片说明](https://img-ask.csdn.net/upload/201912/30/1577690347_708074.jpg) 应用层代码如下 ![图片说明](https://img-ask.csdn.net/upload/201912/30/1577690608_205675.png)
新人求教,关于tcp重传的问题
当用tcp传数据时,发现传输有问题,用wireshark抓包,发现奇怪的现象。 1.首先tcp连接状态,用netstat查看是established状态。 2.客户端的数据发不出去,堆积在send-Q里,但是能ping通服务器。 3.wireshark抓包发现服务器端有previous segment not captured,服务器给出ack要求重传。 4.客户端却没有重传,简直无视服务器的重传要求一样,发送的seq仍在增长,而服务器却在不停地要求重传。 5最后,客户端进行tcp重连。。。
C# 如何使用socket实现基于TCP协议传输数据
我使用Socket.Send和Socket.BeginReceive完成了上位机通讯软件的编写,但是连接下位机经过分析抓包软件得到的数据包,发现似乎与标准TCP协议有出入。具体来讲是这样的: 首先根据TCP协议,数据交换的规范应该是这样的 http://blog.csdn.net/moonhnney/article/details/5604677 > 数据交换: a ----》b a 发送数据完毕,(PSH,ACK) aseq = x,ack=y,datalen = z b 接受到以后发送(ACK) bseq = aack, back = aseq + alen, datalen=blen b 发送数据完毕 (PSH,ACK)bseq = bseq + blen,back = back,datalen = blen a 确认接受 (ACK) aseq = back ,aack = bseq + blen 注:PSH标志指示接收端应尽快将数据提交给应用层。从我协议分析的经历来看,在数据传输阶段,几乎所有数据包的发送都置了PSH位;而ACK标志位在数据传输阶段也是一直是置位的 > 在数据传输阶段,按照常理应用层数据的传输是这样的:(我们假定建立连接阶段Client端最后的确认包中序列号 = 55555, 确认号 = 22222) > Client --> 置PSH标志,置ACK标志 序列号 = 55555, 确认号 = 22222,数据包长度 = 11 ---> Server > Client <-- 置ACK标志,序列号 = 22222, 确认号 = 55566 (=55555 + 11),数据包长度 = 0 <--- Server > Client <-- 置PSH标志,置ACK标志 序列号 = 22223, 确认号 = 55566,数据包长度 = 22 <--- Server > Client --> 置ACK标志,序列号 = 55566, 确认号 = 22244(=22222+22),数据包长度 = 0 ---> Server 而用C#编写出来的数据包却是是这样的 ![图片说明](https://img-ask.csdn.net/upload/201507/23/1437613918_889215.jpg) 对比一下,C#写出来的没有这个 “接受到以后发送(ACK) bseq = aack, back = aseq + alen, datalen=blen” 在Socket.Send中,你只能写数据包的内容数据,不能自定义TCP包头。 那么在C#中用什么函数可以发送一帧TCP ACK呢?
nagle算法疑问 tcp/ip nagle 网络
最近在学习tcp/ip,在拥塞控制部分出现了nagle算法,网上看了一些资料 http://b.baidu.com/view/2468335.htm Nagle算法的基本定义是任意时刻,最多只能有一个未被确认的小段。 所谓“小段”,指的是小于MSS尺寸的数据块,所谓“未被确认”,是指一个数据块发送出去后,没有收到对方发送的ACK确认该数据已收到。  Nagle算法的规则(可参考tcp_output.c文件里tcp_nagle_check函数注释): (1)如果包长度达到MSS,则允许发送; (2)如果该包含有FIN,则允许发送; (3)设置了TCP_NODELAY选项,则允许发送; (4)未设置TCP_CORK选项时,若所有发出去的小数据包(包长度小于MSS)均被确认,则允许发送; (5)上述条件都未满足,但发生了超时(一般为200ms),则立即发送。 问题: 关于nagle算法的第五点,假设有如下场景 client发送第一个字节package1(200ms超时)后,产生了第一个未确认ack,现假设网络异常,client迟迟未收到对package1的ack,但同时client这边产生了第二个字节需要发送,现在client端总共有2字节的待发送数据<mss(1500),经过一段时间后,package1的ack还未到达,但此时tcp缓冲区的2字节已经再次触发条件5,现在client端会发送新的package吗?如果发送后,未确认的ack数会变成2吗(违反nagle算法)?或者是进行了 tcp重新分组后,即使发送了这个两个字节的package未被确认ack仍然为1(怎么感觉这就是答案呢)?求大神解答,3Q
TCP第三次握手失败原因 如何解决 ????
各位请教一个问题:tcp连接,第三次握手,客户端已经给服务端回了ACK,并且在服务器上抓包显示服务器的确收到了ACK,但是为什么服务端还是再重发 syn+ack给客户端??? 下图为在服务器上抓的包 ![图片说明](https://img-ask.csdn.net/upload/201703/30/1490865575_684386.png) 整个网络组网为:客户端在公网环境,服务器通过路由映射到公网。
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Android性能优化(4):UI渲染机制以及优化
文章目录1. 渲染机制分析1.1 渲染机制1.2 卡顿现象1.3 内存抖动2. 渲染优化方式2.1 过度绘制优化2.1.1 Show GPU overdraw2.1.2 Profile GPU Rendering2.2 卡顿优化2.2.1 SysTrace2.2.2 TraceView 在从Android 6.0源码的角度剖析View的绘制原理一文中,我们了解到View的绘制流程有三个步骤,即m...
微服务中的Kafka与Micronaut
今天,我们将通过Apache Kafka主题构建一些彼此异步通信的微服务。我们使用Micronaut框架,它为与Kafka集成提供专门的库。让我们简要介绍一下示例系统的体系结构。我们有四个微型服务:订单服务,行程服务,司机服务和乘客服务。这些应用程序的实现非常简单。它们都有内存存储,并连接到同一个Kafka实例。 我们系统的主要目标是为客户安排行程。订单服务应用程序还充当网关。它接收来自客户的请求...
致 Python 初学者们!
作者| 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
Spring Boot默认内嵌的Tomcat为Servlet容器,关于Tomcat的所有属性都在ServerProperties配置类中。同时,也可以实现一些接口来自定义内嵌Servlet容器和内嵌Tomcat等的配置。 关于此配置,网络上有大量的资料,但都是基于SpringBoot1.5.x版本,并不适合当前最新版本。本文将带大家了解一下最新版本的使用。 ServerProperties的部分源...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
爬取薅羊毛网站百度云资源
这是疫情期间无聊做的爬虫, 去获取暂时用不上的教程 import threading import time import pandas as pd import requests import re from threading import Thread, Lock # import urllib.request as request # req=urllib.request.Requ...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
HTML5适合的情人节礼物有纪念日期功能
前言 利用HTML5,css,js实现爱心树 以及 纪念日期的功能 网页有播放音乐功能 以及打字倾诉感情的画面,非常适合情人节送给女朋友 具体的HTML代码 具体只要修改代码里面的男某某和女某某 文字段也可自行修改,还有代码下半部分的JS代码需要修改一下起始日期 注意月份为0~11月 也就是月份需要减一。 当然只有一部分HTML和JS代码不够运行的,文章最下面还附加了完整代码的下载地址 &lt;!...
相关热词 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数 c#日期精确到分钟 c#自定义异常必须继承 c#查表并返回值 c# 动态 表达式树 c# 监控方法耗时 c# listbox c#chart显示滚动条
立即提问