自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 shell基本语法及实现彩色进度条

基本语法条件测试:test [条件测试test或[可以测试一个条件是否为真。如果测试结果为真,则该命令的退出码为0,如果测试结果为假,则命令的退出码为1(注意与C语言的逻辑表示正好相反)。 例如:测试两个数的大小关系 其中:虽然看起来很奇怪,但左⽅括号[确实是⼀个命令的名字,传给命令的各参数之间应该⽤空格隔开。 我们进行比较时需要一些常用的测试命令: -eq(等于)、-ne(不等于)、

2017-07-21 19:43:03 398

原创 I/O多路转接之select服务器

五种I/O模型Unix共有五种I/O模型:阻塞式I/O非阻塞I/OI/O复用(select和(e)poll)信号驱动I/O(SIGIO)异步I/O(Posix.1的aio_系列函数)阻塞I/O模型应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。如果数据没有准备好,一直等待。数据准备好了,从内核拷贝到用户空间,表示IO结束,IO函数返回成功指示。非阻塞I/O模型我们把一个套接口

2017-07-17 21:40:14 363

原创 计算机网络:UDP套接字通信

UDP的主要特点UDP是无连接的。UDP使用尽最大努力交付。UDP是面向报文的。(1)利用socket函数创建套接字(2)服务器用bind进行IP和端口号的绑定(3)不需要设置监听状态(4)绑定后直接读写如何保证UDP的可靠性

2017-07-17 14:08:25 1544

原创 计算机网络:TCP套接字通信

单进程的套接字通信,多进程的套接字通信 ,多线程的套接字通信,套接字创建函数socket,服务器绑定函数bind,设置监听状态函数listen,请求连接函数connect,

2017-07-15 21:45:50 1262

原创 TCP的三次握手和四次挥手详解

我们在上一篇博客中介绍了TCP服务和分析TCP的首部,而今天讲的三次握手与四次挥手也会用到TCP的首部,不太清楚的小伙伴可以阅读一下:TCP报文段首部分析TCP的三次握手TCP以全双工方式传送数据。在任何数据传送之前,要使每一方能确知对方的存在。双方都必须对通信进行初始化,并得到对方的认可。当两个TCP建立连接后,他们就能够同时互相发送报文段。 TCP中建立连接采用3次握手的方式实现。建立连接的过

2017-07-14 21:50:45 416

原创 面试题:合并两个有序链表

题目:合并两个有序链表,合并以后的链表依旧有序。 思路我们合并一个有序的链表,首先我们要找出两个链表中头结点小的那个。链表1的头结点的值小于链表2的头结点的值,因此链表1的头结点将是合并后链表的头结点。 在剩余的链表中,我们要继续寻找头街点较小的那一个,继续连接在1后面。 当我们得到两个链表中值较小的头结点并把它连接到已经合并的链表之后,两个链表剩余的结点依然是排序的,因此合并的步骤和

2017-07-14 19:42:49 456

原创 TCP的四种定时器

为了实现实现TCP,对每个连接TCP管理4个不同的定时器,如下图所示: 重传定时器重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能发生两种情况:若在计时器超时之前收到对报文段的确认,则撤销计时器;若在收到对特定报文段的确认之前计时器超时,则重传该报文,并把计时器复位;重传时间=2*RTT;RTT的值应该动态计

2017-07-13 21:30:14 330

原创 TCP报文段首部分析详解

TCP协议传输控制协议TCP(Transmission Control Protocol) 是运输层的主要协议,运输层另一个重要的协议是用户数据报协议UDP(User Datagram Protocol),这两个控制协议在协议栈中的位置入下图: TCP最主要的特点TCP是面向连接的运输层协议每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。TCP提供可靠交付的服务。TCP提供

2017-07-13 20:49:19 2634

原创 计算机端口详解

概念计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。按端口号可分为3大类:公认端口(Well Known Ports);注册端口(Registered Ports);动态和/私有端口(Dynamic and/or Private Ports)端口分类公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明

2017-07-13 16:27:15 376

原创 NAT技术与代理服务器

NAT技术概念NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地

2017-07-13 16:05:35 423

原创 CRC校验算法

基本概念CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 在网络通信中很多的帧或数据包中都采用CRC校验,其实CRC校验非常简单,我们

2017-07-12 20:35:15 609

原创 Linux--crond和crontab学习

Linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。crond简介crond 是Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务

2017-07-12 19:32:35 446

原创 Linux--守护进程

守护进程也称为精灵进程(Daemon),是运行在后台的一种特殊进程。 。进程组,作业 终端,创建守护进程fork两次?#include<stdio.h>pid_t setsid(void)。守护进程的特点,创建守护进程的具体步骤,代码实现,daemon()函数创建守护进程

2017-07-12 15:36:31 258

原创 Linux--线程安全与可重入函数的区别和联系

可重入函数概念函数被不同的控制流程调用,有可能在第一次还没返回时就再次进入该函数,这称为重入。 不可重入函数,不可重入函数举例,线程安全,线程安全与可重入函数的区别

2017-07-11 15:32:22 328

原创 子进程的异步等待方式

基础知识在前面的博客中我们已经介绍了僵尸进程(僵尸进程与孤儿进程)的相关知识,我们说过可以通过调用wait和waitpid函数清理僵尸进程,父进程可以阻塞等待子进程结束,也可以以非阻塞的查询是否有子进程结束等待清理(也就是轮询的方式)wait与waitpid函数1.wait函数#include<sys/types.h>#include<sys/wait.h> pid_t wait(int* st

2017-07-10 16:35:49 338

原创 面试题:螺旋队列

下面是一个螺旋队列: 问题: 看清以上数字排列的规律,设1点的坐标是(0,0),x方向向右为正,y方向向下为正。例如:7的坐标为(-1,-1),2的坐标为(0,1),3的坐标为(1,1)。编程实现输入任意一点坐标(x,y),输出所对应的数字;或输入任意数字,输出该数字的坐标。解析: 我们从图片中可以观察到,这个螺旋队列是顺时针螺旋向外扩展的。我们可以把它看成一层一层向外延伸,第0层为中间的那个1

2017-07-09 11:48:51 1876 1

原创 C语言复习

C语言复习变量与零值比较布尔变量与零值比较1.不可将布尔变量直接与TRUE,FALSE或者1,0进行比较。下面代码都是不良风格if(flag == true)if(flag == 1)if(flag == false)if(flag ==0)整型变量与零值比较1.应当将整型变量用 “==”或“!=” 直接与0比较浮点变量与零值比较1.不可以将浮点变量用”==”或“!=”与任何数字比较if(

2017-07-09 11:22:14 199

原创 Linux--信号

我们可以利用 kill -l 命令查看Linux系统中的信号,其中:编号 1- 31 的信号为普通信号 编号 34-64的信号为实时信号,信号的产生条件,信号的产生方式,int kill(pid_t,int signo),int raise(int signo),void abort(void),信号递法(Delivery):实际执行信号的处理动作称为信号递达。,信号未决。int sigemptyset(sig

2017-07-01 15:50:45 309

番茄助手可以支持vs2022

番茄助手可以支持vs2022 亲测好用 建议下载使用

2024-03-15

dxf组码中文版手册。

autocad dxf组码中文手册

2022-08-10

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

TA关注的人

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