shutdown3种方式关闭连接的实战抓包分析
测试linux版本:
1Linux version 5.15.133.1-microsoft-standard-WSL2 (root@1c602f52c2e4) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37) #1 SMP Thu Oct 5 21:02:42 UTC 2023
抓包代码如下:
client.py
12345678910111213141516171819202122232425import socketdef start_client(): client_socket = socket.socket(socket.AF_INET,...
more...
各类最短路模板
参考:涵盖所有「存图方式」与「最短路算法」(史上最全)
1. 存图方式1.1 邻接矩阵(稠密图)使用二维矩阵来存图。
1234567// w[a][b] = c 代表从 a 到 b 有权重为 c 的边int[][] g = new int[N][N];// 加边操作void add(int a, int b, int c) { g[a][b] = c;}
1.2 邻接表(稀疏图)即链式前向星。
1234567891011121314int[] head = new int[N], e = new int[M], next = new int[M], w =...
more...
堆模板
利用基于数组的完全二叉树实现。
如果数组有效下标从1开始,则下标idx的父节点为idx // 2,左孩子结点为idx * 2,右孩子节点为idx * 2 + 1。
如果数组有效下标从0开始,则下标idx的父节点为(idx - 1) // 2,左孩子结点为idx * 2 + 1,右孩子节点为idx * 2 + 2。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273#...
more...