自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP编程

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户端确认包。因为SYN只占一个字节的序列号空间,所以每一个SYN的ACK中的确认号都是相应的初始序列号加1.类似地,每一个FIN(表示结束)的ACK中的确认号为FIN的序列号加1.**************quit***************//退出(可只退出客户端,服务器等待下一个客户端链接)这导致它的TCP也发送一个FIN。

2025-04-23 10:30:54 965

原创 IO常用函数接口

【代码】IO常用函数接口。

2025-04-19 14:13:21 236

原创 网络编程入门知识

1、是一个编程接口2、是一种特殊的文件描述符 (everything in Unix is a file)3、socket是一种通信机制,并不仅限于TCP/IP协议4、面向连接 (Transmission Control Protocol - TCP/IP)5、无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX)

2025-04-19 14:09:36 773

原创 IO 进程同步、互斥(互斥锁)

互斥锁:通过互斥锁可以实现互斥机制,主要用来保护临界资源,每个临界资源都由一个互斥锁来保护,线程必须先获得互斥锁才能访问临界资源,访问完资源后释放该锁。是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。当然,死锁的情况下如果打破上述任何一个条件,便可让死锁消失。互斥:多个线程在访问临界资源时,同一时间只能一个线程访问。临界资源:一次仅允许一个进程所使用的资源。临界区:指的是一个访问共享资源的程序片段。

2025-04-19 14:02:18 474

原创 Linux IO模型

写阻塞--》阻塞情况比较少,主要发生在写入的缓冲区的大小小于要写入的数据量的情况下,写操作不进行任何拷贝工作,将发生阻塞,一旦缓冲区有足够的空间,内核将唤醒进程,将数据从用户缓冲区拷贝到相应的发送数据缓冲区。•当我们设置为非阻塞模式,我们相当于告诉了系统内核:“当我请求的I/O 操作不能够马上完成,你想让我的进程进行休眠等待的时候,不要这么做,请马上返回一个错误给我。阻塞I/O 模式是最普遍使用的I/O 模式,大部分程序使用的都是阻塞模式的I/O。读阻塞--》需要读缓冲区中有数据可读,读阻塞解除。

2025-04-19 14:01:20 315

原创 IO之线程

信号量代表某一类资源,其值表示系统中该资源的数量,信号量值>0,表示有资源可以用,可以申请到资源,继续执行程序,信号量值<=0,表示没有资源可以用,无法申请到资源,阻塞。信号量是一个受保护的变量,只能通过三种操作来访问:初始化sem_init、P操作(申请资源)sem_wait、V操作(释放资源)sem_post。共享的资源:可执行的指令、静态数据、进程中打开的文件描述符、信号处理函数、当前工作目录、用户ID、用户组ID。函数接口:sem_open\sem_wait\sem_post\sem_close。

2025-04-19 14:00:18 358

原创 IO之进程

交互进程:该类进程是由shell控制和运行的。该类进程经常与用户进行交互,需要等待用户的输入,当接收到用户的输入后,该类进程会立刻响应,典型的交互式进程有:shell命令进程、文本编辑器等。可中断睡眠态(TASK_INTERRUPTIBLE)S:处于等待状态中的进程,一旦被该进程等待的资源被释放,那么该进程就会进入运行状态。5)僵尸态(TASK_ZOMBIE):Z 当进程已经终止运行,但还占用系统资源,要避免僵尸态的产生。程序是动态的,是一个独立的可调度的任务,包含创建、调度、执行和消亡。

2025-04-09 19:27:50 488

原创 库(Linux)

当要使用别人的函数的时候除了包含头文件还要有库linux系统存储库的位置一般在/lib或/usr/lib库文件:通俗讲将用户写好的程序打包形成一个整体;当其他用户或其他模块使用时,只要有这个库文件就可以,不需要源代码。也可以理解为一组预先编译好的方法集合。本质上来说库就是一种可执行代码的二进制形式。由于windows和linux的本质不同,所以库不兼容。

2025-04-09 19:26:44 322

原创 文件IO

在系统中(posix)定义的一组用于输入输出的接口。posix:可移植操作系统接口。例:测试open函数。

2025-04-09 19:25:24 311

原创 C语言IO经典例题(持续g)

2. 练习:实现“head -n 文件名”命令的功能 (显示文件前n行)该程序应该无限循环,直到按Ctrl+C中断程序。

2025-04-08 19:48:33 261

原创 C语言IO之标准IO流(持续更新C语言IO,现已至标准IO)

4. 读写操作 fgets fputs fread fwrite。5. 定位操作 fseek ftell rewind。该程序应该无限循环,直到按Ctrl+C中断程序。缓冲机制:系统开辟的一块存储空间(应用层)在C库中定义的一组用于输入输出的函数接口。系统调用:内核向上层提供的一组接口。2. 标准错误 perror。3. 关闭文件 fclose。1. 打开文件 fopen。

2025-04-08 19:44:21 463

原创 数据结构(顺序栈以及链栈)

【代码】顺序栈以及链栈。

2025-04-03 08:57:45 149

原创 数据结构(顺序表、单链表、双向链表、双向循环链表)

【代码】顺序表、单链表、双向链表、双向循环链表。

2025-04-03 08:51:34 243

原创 Linux操作命令

查看操作系统版本lsb_release -a 或者 -rcat/etc/issue-->查看文件中内容查看内核版本uname -a 或者 -rcat/proc/version-->文件中查看。

2025-03-24 11:41:08 772

原创 C基础之----结构体struct

用户自定义的数据类型,在结构体中可以包含若干个不同数据类型的成员变量(也可以相同),是这些数据项组合起来反映某一个信息。struct 结构体名成员变量;}变量名;int id;int age;} stu;return 0;struct成员变量;}变量名;int age;} stu;return 0;int age;} stu;return 0;int id;int age;return 0;

2025-03-18 17:13:33 279

原创 C基础:字符的输入输出、if语句和switch语句

2. switchcase遇到break结束,case后的break可以省略,代码会顺序执行直到遇到。1. switch后的表达式或变量要求有具体值的,不能是一个范围、浮点类型、字符串。3. default是表示其他,是可以省略。主要作用:回收垃圾字符、接收一个字符。gets、puts:输入输出字符串。

2025-03-06 19:16:09 245

原创 C基础:变量、常量、输入输出、宏定义

string类型:字符串类型,用“”引起来的,比如"hello","123456"char类型:字符型,用' '引起来的,比如'a','0'特点:原样替换(不要直接计算结果,表达式是什么就直接替换)例:宏定义一个MIN使其 :输入两个数,输出较小的数。格式:#define 宏名 常量或表达式。标识常量:用符号进行标识一个常量。输出函数:printf();double:双精度浮点型。输入函数:scanf();局部变量和全局变量的区别。float:单精度浮点型。未赋初值,初值为随机值。

2025-03-06 19:15:07 308

原创 HTML标签基础

border-radius:边框半径 text-align:文本对齐方式 text-decoration:文本装饰。HTML中,一共有六级标题标签 h1~h6在显示效果上, h1最大, 往下依次变小,h6最小。是 HTML 中表示段落的标签,p 代表 paragraph(段落)。,控制网页的布局、颜色、字体等外观方面,它通常放在 HTML 文件的。标签是 HTML 语法的一部分,用于在 HTML 文件中内联定义。font-size:字体大小 width:宽度 height:高度。ctrl + / :注释。

2025-02-28 17:13:09 722

原创 SQL的基础命令

GLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。BETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。IN 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。LIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。IN 运算符用于把某个值与一系列指定列表的值进行比较。IS NOT 运算符与!

2025-02-28 17:09:54 472

原创 Git基本操作

在工作区右键选择 TortoiseGit —> 显示引用记录 —> 选择前进的版本 —> 右键选择重置master到这个版本选择Hard重置工作区和索引(丢弃所有本地变更)在工作区右键选择 TortoiseGit —> 显示日志 —> 选择回退的版本 —> 右键选择重置master到这个版本选择Hard重置工作区和索引(丢弃所有本地变更)在文件夹下创建文件,右键-->git提交master-->确认-->推送。在文件夹下,右键-->乌龟壳-->拉取(保持默认设置)-->确认。工作区->版本库->远程仓。

2025-02-28 17:08:07 344

原创 Linux基本操作

P, --physical:显示物理路径,即当前目录的实际路径,忽略任何符号链接。-L, --logical:显示逻辑路径,即当前目录的符号链接路径(默认行为)。如果当前目录是通过符号链接访问的,那么 pwd -L 会显示符号链接的路径。功能:删除文件或目录,它可以将一个或多个文件或目录从文件系统中彻底删除,不可恢复。第六列:文件创建时间或者最近一次访问时间,时间比较近时显示顺序为{月日时间},时间较远时,则仅显示年份。功能:直接打开文件,如果文件不存在,则会自动创建,在完成编辑后保存即可。

2025-02-28 17:07:02 476

原创 Java学习记录(IO流篇)

1:核心类类 说明 File 文件类 InputString 字节输入流 OutputString 字节输出流 Reader 字符输入流 Writer 字符输出流 Closeable 关闭流接口 Flushable 刷新流接口 Serializable 序列化接口 .........

2022-06-05 19:23:04 89

原创 JAVA容器、泛型、接口

1:容器(又称为集合)容器:可以在其中放置对象或基本类型数据(数组就是一种容器)数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么这样的用户有多少个?我们在写程序时是无法确定的。因此,在这里就不能使用数2:泛型:泛型列表一般使用<T,E,V>这三个字母例:使用泛型和不使用泛型/

2022-05-22 15:54:50 116

原创 Java方法、类、排序及优化

1:抽象方法和抽象类抽象方法: 使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。抽象类: 包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。例:抽象方法和抽象类的使用//抽象类abstract class Animal { abstract public void shout(); /...

2022-05-15 16:21:54 113

原创 Java变量、类型、数组

1:输出:(1)print:不自动进行换行。(2)println:自动进行换行。2:Helloworld:public class Welcome { public static void main(String[] args) { System.out.print("hello world"); }}3:变量的分类:(1)局部变量:方法或语句块得不定义的变量。生命周期是从声明位置开始到方法或语句块执行完毕为止。(2)成员变量(也叫实例变量 member variab

2022-05-08 13:45:50 222

空空如也

空空如也

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

TA关注的人

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