自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 收藏
  • 关注

原创 PID的离散化

上一篇《PID的基本原理》中介绍的PID公式是基于连续信号或模拟信号的,无法或不便于直接在实际的编程中使用,所以需要对其进行离散化处理。原公式为:进行离散化:k值为进行反馈调节的次数;T为两次调节之间的时间差。

2026-04-20 09:07:18 145

原创 PID的基本原理

整体策略。闭环控制算法,动态改变施加到被控对象的输出值,使得被控对象某一物理量的实际值,能够快速、准确、稳定地跟踪到指定目标值。是一种基于误差调控的算法,其中规定:误差=目标值-实际值,PID的任务是使误差始终为0。PID的含义。比例、积分、微分的缩写。优点。对被控对象模型要求低,无需建模,即使被控对象内部运作规律不明确,PID也可以进行调控。

2026-04-20 06:11:41 347

原创 重载、重写、覆盖、隐藏的区别

2020-07-22 11:34:15 258

原创 套接字编程

1、知识图谱 2、举例 例1:创建sockaddr_in结构体变量,并绑定套接字 //创建套接字 int serv_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //创建sockaddr_in结构体变量 struct sockaddr_in serv_addr; memset(&serv_addr, 0, sizeof(serv_addr)); //每个字节都用0填充 serv_addr.sin_family = AF_INET; //使用

2020-07-13 17:01:35 325

原创 c语言和内存

1、知识图谱

2020-07-10 20:47:16 277

原创 c++中的细节知识点(九)

1、知识图谱

2020-07-09 19:18:57 198

原创 c++中的细节知识点(八)

1、知识图谱 2、举例 例1:模板函数的定义举例 template<typename T> void Swap(T *a, T *b){ T temp = *a; *a = *b; *b = temp; } 例2:类模板的定义举例 template<typename T1, typename T2> //这里不能有分号 class Point{ public: Point(T1 x, T2 y): m_x(x), m_y(y){ } public:

2020-07-09 11:54:19 331

原创 C++中的细节知识点(七)

1、知识图谱 2、举例 例1:转换构造函数下理解全局函数重载和成员函数重载的区别 在上图中,转换构造函数可以将15.6和28.3等浮点数转换成Complex类型,这样便于参与运算,并且重要的是,转换完之后,这些数就可以使用成员函数了,因为他们已经被编译器修改成了Complex的对象。 另外,在编译器进行转换时,只会将参数进行转换,而不会将一个普通的数进行转换。 Complex c2 = c1 + 15.6会进行如下的转换: Complex c2 = c1.operator+(Complex(15.6));

2020-07-08 11:07:01 248

原创 c++中的细节知识点(六)

1、知识图谱 2、举例 例1:构成多态的条件的举例分析 #include <iostream> using namespace std; //基类Base class Base{ public: virtual void func(); virtual void func(int); }; void Base::func(){ cout<<"void Base::func()"<<endl; } void Base::func(int n){

2020-07-01 19:50:47 284

原创 c++中的细节知识点(五)

1、知识图谱 2、举例 例1:using改变派生类中继承的基类成员权限 #include<iostream> using namespace std; //基类People class People { public: void show(); protected: char *m_name; int m_age; }; void People::show() { cout << m_name << "的年龄是" << m_ag

2020-06-27 21:53:07 536

原创 c++中的细节知识点(四)

1、知识图谱 2、举例 例1:临时数据的取地址 int n = 100, m = 200; int *p1 = &(m + n); //m + n 的结果为 300 int *p2 = &(n + 100); //n + 100 的结果为 200 bool *p4 = &(m < n); //m < n 的结果为 false 上面的例子是错误的。 int func(){ int n = 100; return n; } int *p = &

2020-06-18 20:36:18 188

原创 c++中的细节知识点(三)

1、知识图谱 2、举例 例1:静态成员变量的访问 //通过类类访问 static 成员变量 Student::m_total = 10; //通过对象来访问 static 成员变量 Student stu("小明", 15, 92.5f); stu.m_total = 20; //通过对象指针来访问 static 成员变量 Student *pstu = new Student("李华", 16, 96); pstu -> m_total = 20; 例2:静态成员函数的使用举例 #include

2020-06-07 16:57:37 283

原创 c++中的细节知识点(二)

1、知识图谱 2、例子 例1:成员对象的初始化 Car::Car(int price, int radius, int width): m_price(price), m_tyre(radius, width)/*指明m_tyre对象的初始化方式*/{ }; 例2:在类中包含成员对象时的构造和析构函数的调用顺序 #include<iostream> using namespace std; class Tyre { public: Tyre() { cout << "Ty

2020-06-03 22:02:58 210

原创 c++中的细节知识点(一)

1、知识图谱 2、const在c++中和c语言中的区别举例2 #include <stdio.h> const int n = 10; void func(); int main(){ func(); printf("main: %d\n", n); return 0; } #include <stdio.h> extern int n; void func(){ printf("module: %d\n", n); } 在上面的例子中,c++下,

2020-06-03 09:35:19 338

原创 C语言多文件编译

2020-05-24 19:38:05 382

原创 C语言中的内存机制

2020-05-24 18:27:49 236

原创 C语言中的细节知识点(七)

2020-05-24 16:10:48 180

原创 C语言细节知识点(六)

2020-05-24 11:48:08 229

原创 C语言中的细节知识点(五)

1、知识图谱 2、指针数组的例子 #include <stdio.h> int main(){ char *lines[5] = { "COSC1283/1284", "Programming", "Techniques", "is", "great fun" }; char *str1 = lines[1]; char *str2 = *(lines + 3); char

2020-05-23 22:34:41 393

原创 C语言细节知识(四)

1、知识图谱 2、C语言条件编译 2.1 #if的用法 #if 整型常量表达式1 程序段1 #elif 整型常量表达式2 程序段2 #elif 整型常量表达式3 程序段3 #else 程序段4 #endif 它的意思是:如常“表达式1”的值为真(非0),就对“程序段1”进行编译,否则就计算“表达式2”,结果为真的话就对“程序段2”进行编译,为假的话就继续往下匹配,直到遇到值为真的表达式,或者遇到 #else。这一点和 if else 非常类似。 需要注意的是,#if 命令

2020-05-23 17:46:46 438

原创 C语言细节知识点(三)

2020-05-23 12:14:05 282

原创 C语言中的细节知识(二)

1、知识图谱 2、密码输入函数代码 void GetPassWD(char *pwd,int pwdlen) { int i = 0; char ch=0; while (i<pwdlen) { ch = _getch(); if (ch == '\r') { //按下回车,结束密码输入 printf("\n"); break; } if (ch=='\b'&&i>0) { //按下退格,删除一个字符 i--; printf

2020-05-21 18:54:40 356

原创 C语言中的细节知识(一)

2020-05-20 22:29:53 360

原创 TCP滑动窗口机制

1、数据分片 2、滑动窗口机制 2.1 单一发送总是要等回复,效率太低: 2.2 设置窗口,提升效率 以下的窗口大小为3: 窗口大小指的是可以发送数据包的最大数量。在实际使用中,它可以分为两部分。第一部分表示数据包已经发送,但未得到确认应答包;第二部分表示允许发送,但未发送的数据包。在进行数据包发送时,当发送了最大数量的数据包(窗口大小数据包)时,有时不会同时收到这些数据包的确认应答包,而是收到部分确认应答包。那么,此时窗口就通过滑动的方式,向后移动,确保下一次发送仍然可以发送窗口大小的数据包。这样的

2020-05-19 20:02:05 1082

原创 三次握手详解

1、知识图谱 2、捕获三次TCP包进行以上验证 3、现在构造TCP包进行握手(42号工具) 已知主机 A 的 IP 地址为 192.168.59.131,端口 443 处于开放状态。主机 B 的 IP 地址为 192.168.59.135,端口 8080 处于开放状态。通过主机 A 连接主机 B,构造 3 次握手。 1)在主机 A 上构造第 1 次握手包,连接主机 B 的 8080 端口,执行命令如下: netwox 42 -x -s 192.168.59.131 -d 192.168.59.13

2020-05-19 17:22:58 481

原创 TCP报文格式解析

1、TCP报文格式

2020-05-19 15:49:18 414

原创 TCP协议的工作机制

1、知识图谱 2、几种工作模式的实验操作

2020-05-19 10:13:10 614 1

原创 传输层基础知识

1、知识图谱

2020-05-18 17:48:53 243

原创 路由跟踪

待定

2020-05-18 16:32:37 175

原创 ICMP数据包实验

1、构造ICMP数据包(65号工具) 显示reached表示主机可达,unreached表示主机不可达。 从上面抓取的包可以看到请求包,type、code分别是8、0 从上面抓取的包可以看到应答包,type、code分别是0、0 2、伪造ICMP数据报(66号工具) 上面1中使用自己的主机进行探测抓包,会被发现,现在如果不想被发现,可以使用伪造icmp数据报的方法。 伪造 IP 地址为 192.168.59.140,MAC 地址为 00:0c:29:ca:e4:99,执行命令如下: netwox

2020-05-17 19:26:02 2542

原创 ICMP协议

1、知识图谱

2020-05-17 17:46:33 176

原创 基于ARP协议进行扫描的一些实验

1、判断单一主机(55号工具) netwox 55 -i 192.168.59.135 如果主机启动,那么就会显示ok,否则就是没有启动,不显示任何内容。 可以对ARP包进行抓取: 源 IP 地址和 MAC 地址为目标主机的地址;目标 IP 地址和 MAC 地址为 netwox 主机的地址,表示目标主机成功向 netwox 主机返回了响应。 2、扫描多个主机(71号工具) netwox 71 -i 192.168.59.133,192.168.59.134,192.168.59.135,··· 192

2020-05-17 16:14:01 674

原创 免费的ARP包

1、知识图谱 2、操作试验(注意和一般的ARP包区分) netwox 33 -g 192.168.59.132 -i 192.168.59.132

2020-05-17 10:31:52 337

原创 ARP报文格式详解

1、知识图谱

2020-05-17 09:07:36 526

原创 ARP协议的工作机制

1、知识图谱 2、基本操作 2.1 查看当前主机缓存信息 2.2 随意找一个主机进行探测 2.3 再次查看当前主机缓存信息 可以看到,多了192.168.0.2

2020-05-16 21:38:28 594

原创 IP数据报的格式和IP协议的工作方式

1、知识图谱

2020-05-16 18:43:30 549

原创 IP地址详解

1、知识图谱 2、一些基本操作 2.1 探测局域网中所有主机的IP地址、主机名和 MAC 地址信息 netwox 3 -a 192.168.59.0/24 自己组建的局域网中只有两台电脑,其IP地址是192.168.0.1和192.168.0.2,Hostname是其对应的主机名,Eth是物理地址。在搜索时,其范围是192.168.0.0到192.168.0.255, unresolved表示主机不存在于网络中,并且其物理地址显示默认值00:00:00:00:00:00。 2.2 用类似的方法还可以探

2020-05-16 17:28:03 351

原创 以太帧

1、以太帧的工作机制和结构

2020-05-16 09:43:59 480

原创 以太网的简单介绍

2020-05-15 13:41:38 335

原创 物理地址(MAC地址)

1、知识图谱 2、操作 2.1 通过IP地址查看主机的物理地址 2.2 通过MAC地址获取主机的其他信息

2020-05-15 13:08:10 427

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除