网络编程
文章平均质量分 53
sandyznb
这个作者很懒,什么都没留下…
展开
-
TCP协议详解 滑动窗口
TCP发送窗口由slide_window(滑动窗口)、congestion_window(拥塞窗口)两者决定#已发送未确认的字节数=下一个发送序号-最早的未确认序号off = tp->snd_nxt - tp->snd_una;#发送窗口为min(当前发送窗口,拥塞窗口)win = min(tp->snd_wnd, tp->snd_cwnd);...#发送长度=发送窗口-已发送未确认字节数len = min(so->so_snd.sb_cc, wi原创 2021-11-16 13:59:53 · 1954 阅读 · 0 评论 -
TCP基础知识----序列号、确认号
seq 当前端成功发送的数据位数ack 希望对方下一次发送的序号 不是当前端已经接收到的数据量以三次握手为例https://blog.csdn.net/zhangdell/article/details/115380788第一次: SYN = 1,seq = x第二次:SYN = 1,ACK = 1,seq = y,ack = x + 1第三次:ACK = 1,seq = x + 1,ack = y + 1这里边容易给大家一个误导,觉得下一次的ack = 上一次的seq + 1,下一...原创 2021-04-01 21:05:38 · 875 阅读 · 1 评论 -
TCP基础知识----3次握手 4次挥手
TCP连接由四元组唯一标识一:三次握手协议建立连接 最少需要3次握手。需要client主动发起请求为什么需要3次握手:这是考虑到丢包情况的,如果丢包情况不存在,2次就够了。。。。但是丢包是实实在在存在的如果只握手2次,第二次握手时server发送给client的数据包丢失了,此时server认为已经准备好了,而client一直没有收到确认报文,所以client就不知道服务器是否准备好了,这时client不会给server发数据,而且也会忽略server给client发来的数据。.原创 2021-04-01 19:19:02 · 1119 阅读 · 1 评论 -
TCP基础知识----TCP协议头
一共20个字节1、源端口号:2个字节 表示你这个包是从哪里来2、目的端口号:2个字节 表示你这个包要去哪里!你去访问网页,那么你的目的端口号肯定是80了,那源端口号是大于1024的随机端口。3、序号:4个字节,TCP连接中传送的字节流中的每个字节都按顺序编号。例如,一段报文的序号字段值是 301 ,而携带的数据共有100字段,显然下一个报文段(如果还有的话)的数据序号应该从401开始;4、确认号:占4个字节,是期望收到对方下一个报文的第一个数据字节的序号。例如,B收到了A发送...原创 2021-04-01 18:17:15 · 2574 阅读 · 0 评论 -
linux c/c++ 编程 (进程组 会话 守护进程)
一:进程组1:进程组也称之为作业。代表一个或多个进程的集合,每个进程都属于一个进程组。在waitpid函数和kill函数的参数中都曾使用到。操作系统设计的进程组的概念,是为了简化对多个进程的管理。2:当父进程创建子进程的时候,默认子进程与父进程属于同一进程组。3:进程组ID:第一个进程的进程ID (组长ID)4:组长可以创建一个进程组,可以创建进程组中的进程。只要进程组中有一个进程存在,进程组就存在,和组长进程是否终止没有关系。5:kill -SIGKILL -进程组ID(负的)来将整.原创 2020-12-11 18:16:56 · 296 阅读 · 0 评论 -
3.5 信号编程进阶、sigprocmask范例
一:信号集一个进程,必须能够记住 这个进程 当前阻塞了哪些信号000000000000000000000我们需要 “信号集 ”的这么一种数据类型(结构),能够把这60多个信号都表示下(都装下)。0000000000,0000000000,0000000000,00,0000000000,0000000000,0000000000,00 (64个二进制位)linux 是用sigset_t结构类型来表示信号集的;typedef struct{ unsigned long sig[2];}原创 2020-12-10 15:04:02 · 112 阅读 · 0 评论 -
linux c++网络编程 --- 信号捕捉
#include <stdio.h>#include <stdlib.h>#include <signal.h>#include <unistd.h>void sigusr(int signo){ if(signo == SIGUSR1) { printf("received sigusr1\n"); } else if(signo == SIGUSR2.原创 2020-12-10 11:19:37 · 275 阅读 · 0 评论