自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 物联网的相关概念总结(逐渐更新)

引言本文主要总结了与物联网协议栈相关的概念。1. 网络带宽(Network Bandwidth)网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。基本单位: bits per second(简写为bps)带宽的单位有:bps,Kbps,Mbps, Gbps, Tbps例如:1Mbps=1000*1000bit/s=10^6bps2. 计算机的存储单位计算机的基本储存单元有:位(bit):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。字节(Byte,B):计算

2020-06-30 08:21:08 2485

转载 计算机网络-DHCP协议的作用及原理

1. DHCP协议简介DHCP(Dynamic Host Configuration Protocol)协议即动态主机配置协议。DHCP能够为客户端自动分配IP地址,在分配地址的同时具有记录缓存机制,可避免IP的重复分配,过期地址回收机制增加了IP地址的复用性,对于维护大规模的局域网客户端有极大的便利性。2. DHCP协议的工作过程1、发现阶段,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover发现信

2020-06-27 16:29:54 5302

原创 计算机网络-交换机简介

交换机

2020-06-26 18:20:50 2583

原创 计算机网络-路由器转发IP数据报简介

1. IP转发

2020-06-26 17:41:11 5216

原创 计算机网络-以太网,局域网,城域网,广域网,互联网,因特网,万维网的区分

引言计算机网络这门课程中有很多名词容易让初学者混淆,最具代表性的就是题目中列出的这几个网。本文就是对这些概念进行讲解和区分,让读者能够更直接的认识到它们之间的区别。

2020-06-26 10:35:51 6594

原创 C语言字符串处理-strcmp, strcpy, strcat

1. strcmp1.1 描述C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较,该函数包含在<string.h>中。1.2 声明下面是 strcmp() 函数的声明。int strcmp(const char *str1, const char *str2)str1 要进行比较的第一个字符串。str2 要进行比较的第二个字符串。该函数返回值如下:如果返回

2020-06-23 08:05:44 394

原创 C语言内存管理-malloc, free, memset, memcpy, memmove

1. malloc和free库函数"stdlib .h"为malloc()和free()提供原型1.1 mallocmalloc()的主要作用是:分配所需的内存空间,并返回一个指向它的指针。malloc()接受一个参数:所需内存的字节数。malloc()会找到合适的内存块,并返回动态分配内存块的首字节地址,如果分配内存失败将返回空指针。通常,可以把malloc()返回的地址赋给一个指针变量,并使用指针来访问这块内存。malloc()...

2020-06-17 20:09:06 858

原创 常用的Linux指令(不断更新)

1、查看当前路径下所有文件的大小du -sh *2、 查看linux服务器的磁盘空间df -h

2020-06-17 19:28:26 135

原创 C语言-void* 指针,数组指针,指针数组(后续)

1.void 指针void 指针可以指向任意类型的数据,就是说可以用任意类型的指针对 void 指针对 void 指针赋值。例如:int *a;void *p;p=a;如果要将 void 指针 p 赋给其他类型的指针,则需要强制类型转换,就本例而言:a=(int*)p。在内存的分配中我们可以见到 void 指针使用:内存分配函数 malloc 函数返回的指针就是 void* 型,用户在使用这个指针的时候,要进行强制类型转换,也就是显式说明该指针指向的内存中是存放的什么类型的数据 (int*)ma

2020-06-17 09:16:02 1634

原创 C语言-static,extern,const总结

1. static1.1 static对变量和函数的隐藏作用当我们同时编译多个文件时,所有未加 static 前缀的全局变量和函数都具有全局可见性。例如,我们要同时编译两个源文件,一个是 a.c,另一个是 main.c。下面是 a.c 的内容:char a = 'A'; // global variablevoid msg(){ printf("Hello\n");}下面是 main.c 的内容:int main(void){ extern char a;

2020-06-16 14:16:54 253

转载 C语言-函数指针和指针函数的用法和区别

1. 简介本文主要介绍指针函数和函数指针的定义和区别。2 指针函数2.1 定义指针函数,简单的来说,就是一个返回指针的函数,其本质是一个函数,而该函数的返回值是一个指针。声明格式为:*类型标识符 函数名(参数表)看看下面这个函数声明:int f(int x,int y);以上是一个函数,返回值是 int 类型。接着看下面这个函数声明:int *f(int x,int y);这和上面那个函数唯一的区别就是在函数名前面多了一个*号,而这个函数就是一个指针函数。其返回值是一个 int 类

2020-06-16 12:22:52 1429 2

原创 在Linux系统下C语言编译过程的四个步骤

1. 简介C语言程序从源代码到可执行文件(二进制文件)都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程。以hello.c文件为例:#include <stdio.h>int main(){ printf("hello world!\n");}在linux下编译C程序:$ gcc hello.c -o hello # 编译$ ./hello # 执行hello world! # 输出文本2. 编译的步骤gcc命令编译C语言的过程中

2020-06-15 15:36:40 2794

原创 物联网-GPRS简介和PDP激活

1 GPRS简介通用分组无线服务(英语:General Packet Radio Service,缩写:GPRS)是GSM移动电话用户可以使用的一种移动数据业务/技术。GPRS有别于旧的电路交换连接。在旧的电路交换连接系统中,一个数据连接要创建并保持一个电路连接,在整个连接过程中这条电路将被独占,直到连接被解除。GPRS基于分组交换,也就是多个用户可以共享一个相同的传输信道,每个用户只有在传输数据的时候才会占用信道。这意味着所有的可用带宽可以立即分配给当前发送数据的用户,这样有更多的间隙发送或接受数据,

2020-06-11 16:08:02 6108

转载 物联网协议-MQTT协议简介

MQTT简介MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,**可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。**做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。1. MQTT协议特点MQTT是一个基于客户端-服务

2020-06-11 14:08:59 680

转载 物联网协议-CoAP协议简介

什么是CoAPCoAP是受限制的应用协议(Constrained Application Protocol)的代名词。最近几年专家们预测会有更多的设备相互连接,而这些设备的数量将远超人类的数量。在这种大背景下,物联网和M2M技术应运而生。虽然对人们而言,连接入互联网显得方便容易,但是对于那些微型设备而言接入互联网非常困难。在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP协议被设

2020-06-11 09:46:44 1909

原创 应用层协议-FTP协议简介

FTP 概述文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。在传输文件时,FTP 客户端程序先与服务器建立连接,然后向服务器发送命令。服务器收到命令后给予响应,并执行命令。FTP 协议与操作系统无关,任何操作系统上的程序只要符合 FTP 协议,就可以相互传输数据。本文主要基于 LINUX 平台,对 FTP 客户端的实现原理进行详尽的解释并阐述如何使用 C 语言编写一个简单的 FTP 客户端。FTP 协议相比其他协议

2020-06-10 17:20:18 1653

原创 应用层协议-HTTP协议简介

引入超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Int

2020-06-09 18:35:05 477

转载 算法的时间复杂度和空间复杂度介绍

算法的时间复杂度和空间复杂度 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。 算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量。而度量一个程序

2020-06-09 07:38:15 416

原创 剑指offer-数组中重复的数字(C语言实现)

找出数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入: [2, 3, 1, 0, 2, 5, 3]输出:2 或 3int findRepeatNumber(int* nums, int numsSize){ int tmp = 0; int i = 0; // 边界条件 // 如果数组是空的

2020-06-08 17:06:50 430

原创 计算机网络-ARP的作用与原理

这里写目录标题1.ARP简介2.ARP工作流程3.ARP报文格式4.抓包分析4.1 ARP请求报文4.2ARP应答报文5.其他5.1 ARP表5.1.1 动态ARP表5.1.2 静态ARP表5.2 免费ARP5.3 代理ARP5.4 ARP攻击1.ARP简介地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替

2020-06-07 17:20:51 2615

原创 Windows系统下使用Git提交代码到GitHub

 在Windows系统上写代码,需要将项目上传到GitHub,就需要利用Git,Git是一个开源的分布式版本控制工具。上传项目需要以下几个步骤:1、下载并安装Git 首先访问网址下载Git:https://git-scm.com/downloads,下载完成之后安装。2、在GitHub上注册账号并创建仓库(Repository) 根据GitHub网站的要求注册账号,并创建仓库3、提交本...

2020-04-25 16:29:45 694

原创 计算机网络-TCP的拥塞控制算法

TCP的拥塞控制算法TCP的拥塞控制算法包括三个部分。慢启动TCP发送方将cwnd(拥塞窗口)设置为1个MSS(最大报文段长度),并且以指数增长。当cwnd的值等于ssthresh(慢启动阈值)时,TCP进入拥塞避免状态。拥塞避免cwnd线性增长。遇到以下两种情况时,采取不同的措施。(1)出现超时与慢启动相同,将cwnd设置为1个MSS,以指数增长,并且将ssthresh更新为当前...

2020-04-23 13:13:37 444

空空如也

空空如也

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

TA关注的人

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