首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
fin专题
C++ 文件输入和输出fout fin
最近在写C++程序,好久没有用C++,之前学的的一些函数都记不太得了。买了一本《C++ Primer Plus》中文版,看了其中关于文件输入和输出的章节,发现了一些以前没有学过的函数,很有用,先记下来。 要让程序写入文件,可以这样做: 1.创建一个ofstream对象来管理输出流; 2.将该对象与特定的文件关联起来; 3.以使用cout的方式使用该对象,唯一的区别是输出将进入文件,而
阅读更多...
FIN和RST的区别,几种TCP连接出现RST的情况
一、RST跟FIN的区别: 正常关闭连接的时候发的包是FIN,但是如果是异常关闭连接,则发送RST包 两者的区别在于: 1.RST不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而FIN需要先处理完缓存区的包才能发送FIN包 2.接收端收到RST包后,也不必发送ACK包来确认。而FIN需要ACK包确认(因为一个是正常关闭会话一个是异常,所以很好理解) 二、发RST包有以下几种
阅读更多...
websocket 内的操作码fin和opcode
websocket传输的头两个字节非常关键,提供了每一帧的基本信息,RFT6455中给出了帧头的格式说明: 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-----
阅读更多...
TCP报头标志位URG/PSH/SYN/ACK/FIN/RST
TCP报头 TCP是TCP/IP协议栈中的传输层支持的协议,并且TCP有自己报头信息。 TCP的报头信息如下表: TCP是一个面向连接的、可靠的传输协议。而这个可靠传输的功能则是靠32位序号和32位确认序号实现。 TCP报头的标志位 TCP报头中一共有六个标志位:URG/ACK/PSH/RST/SYN/FIN。 SYN TCP三次握手中,如果A是发起端
阅读更多...
tcp参数详解之tcp_fin_timeout
tcp_fin_timeout :INTEGER 默认值是 60 对于本端断开的socket连接,TCP保持在FIN_WAIT_2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60 秒。过去在2.2版本的内核中是 180 秒。您可以设置该值﹐但需要注意﹐如果您的机器为负载很重的web服务器﹐您可能要冒内存被大量无效数据报填满的风险﹐FIN-WAIT-2 socket
阅读更多...
tcp四次挥手中FIN_WAIT2状态的最大时间是多长?
我们知道, 在tcp四次挥手中, A端主动关闭发FIN, 然后收到B端的ACK, B端进入CLOSE_WAIT状态。 收到B端的ACK后, A端进入FIN_WAIT2状态, 等待B端发FIN包。 我们前面说过, B端的CLOSE_WAIT的理论最大时间是无穷大, 所以, A端理论上可能持续无穷大的时间才有机会获取到B端的FIN, 因此, tcp四次挥手中FIN
阅读更多...
tcp四次挥手中FIN_WAIT1状态的最大时间是多长?
我们知道, 在tcp四次挥手中, 主动关闭的一端发FIN包后, 进入FIN_WAIT1状态, 什么意思呢? 也就是在等在FIN的ACK回包。 在极端情况下, 如果主动关闭端的发送缓冲区满了, 发送端直接杀进程, 发FIN包, 那么接收端是无法接受到FIN包的, 塞满了啊。 这一点, 我们在之前的博文中探讨过。而且, tcpdump还抓不到这个FIN包, 回应的AC
阅读更多...
一个有趣的实验---tcp发送缓冲区满, 然后杀掉进程(处于FIN_WAIT1状态), 接收端是无感知的。
服务端程序: #include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <errno.h>
阅读更多...
Mysql——FIN_IN_SET 和 IN 对比
FIND_IN_SET函数用来比较是不是包含 mysql中In是比较等不等 使用实际的例子,对比两者之间性能的 FIND_IN_SET UPDATE projectSET Available = 1WHEREFIND_IN_SET(ID ,'001e678a-b0af-482a-aa41-f4490de7c412,002a62ee-ab92-4cbe-89
阅读更多...