- 博客(23)
- 收藏
- 关注
原创 数据的封包与拆包
5、抓包工具 tcp.port == 50000 && tcp.ip == 192.168.0.183。netstat-InpIgrep8888===>查看指定端口上的通信详情。netstat-n-u ===>列出所有UDP通信的端口信息。netstat -n -ii===>列出默认接口上的通信信息。netstat-n-t===>列出所有TCP通信的端口信息。netstat-n ===>列出当前所有网络端口使用情况。1、根据ip地址过滤:ip.src ==x.X.X.X。4、arp 地址解析命令。
2025-09-08 14:18:29
233
原创 IO多路复用
定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标的输入、中断信号等等事件,再比如web服务器如nginx,需要同时处理N个客户端的事件。逻辑控制流在时间上的重叠叫做并发而CPU单核在同一时刻只能做一件事情,一种解决办法是对CPU进行时分复用(多个事件流将CPU切割成多个时间片,不同事件流的时间片交替进行)。在计算机系统中,手。
2025-09-06 09:05:03
465
原创 网络编程--open system interconnect
OSI 模型 ===》开放系统互联模型==》分为7层理想模型 ==》尚未实现应用层表示层 加密解密 gzip.会话层 网络断开,连接状态,keep-close keep-alive传输层tcp udp 协议 文件视频,音频网路层ip NAT链路层 交换机 数据的格式化 帧 校验物理层100Mb/8 Gbits100MB 同轴电缆 10Gb2.4G 5G应用层:为网络用户提供各种服务,例如电子邮件、文件传输等。表示层:为不同主机间的通信提供统一的数据表示形式。
2025-09-02 21:09:59
638
原创 线程的控制
概念:互斥=====》在多线程中对临界资源的排他性访问临界资源(公共访问的资源)排他性(只有一个线程去访问,其他线程休眠状态)互斥机制====》互斥锁====》保证临界资源的访问控制互斥锁是结构体eg:通过cpu寄存器(reg)进行内存存储,CPU进行数据的处理,给到寄存器中的数据,然后通过寄存器存储到内存里面。处理一次给一次。由于内核限制,CPU进行处理之后,并不能将所有数据存储。所以引进互斥锁来进行资源限制。如果给定标识符0和1,表示互斥锁的开关,0表示关,1表示开。
2025-08-28 17:51:40
590
原创 pthread---线程
功能:通过该函数可以将指定的线程资源回收,该函数具有阻塞等待功能,如果指定的线程没有结束,则回收线程会阻塞。====》主线程结束任意生成的子线程都会结束。1、如果预估子线程可以有限范围内结束则正常用pthread_join等待回收。====》子线程的结束不会影响主线程的运行。1、线程的回收机制====》不同与进程没有孤儿线程和僵尸线程。概念:线程是轻量级进程,一般是一个进程中的多个任务。线程id是线程的唯一标识,是CPU维护的一组数字。创建多线程==》线程空间操作===》线程资源回收。
2025-08-27 20:54:53
751
原创 文件编程(IO)
1975 Dennis r IO库,从C语言的标准,ANSI cI: 键盘是标准输入设备 ====》默认输入就是指键盘 /dev/inputO: 显示器是标准输出设备 ==》默认输出就是指显示器Linux操作系统当中IO都是对文件的操作C一部分,任何支持标准C的系统都可使用标准IO实现文件存储标准IO在UNIX上是对文件IO的封装一般都是对普通文件操作是一种有缓存的IO 在文件IO和用户程序之间,加入缓冲区,可以有效减少系统调用的次数,节省系统IO调度资源。
2025-08-13 21:48:49
1882
原创 Linux 文件编程
在 Linux 系统中,“一切皆文件” 的设计思想贯穿始终 —— 无论是硬盘中的文本、外接的鼠标,还是摄像头、网络套接字,都被抽象为 “文件” 统一处理。这种设计让操作各类设备和数据变得简单:打开、读写、关闭,三步即可完成大部分交互。本文将聚焦,详解如何通过这些函数实现 Linux 下的文件操作,从打开文件到数据读写,再到资源释放,形成完整的文件编程知识体系。
2025-08-12 21:37:29
648
原创 Day15 C语言----结构体----共用体
提供给用户(程序员)自定义一种数据类型 --程序员根据需求,自己来组织一种数据类型可以描述现实生活中的一些用基本数据类型不好表述的数据结构体:可以把不同类型的数据集合在一起注意:结尾有分号使用结构体思路:int ---定义 -------变量,指针,数组,函数形参自己先构造出的结构函数类型 ------有了类型。
2025-08-08 21:19:20
234
原创 C语言 ----(指针)
基类型 * 指针变量名;(1)基类型:基类型说明了 通过指针 找到的空间说明空间有多大,怎么用,就是指针找到的空间上所存储的数据类型(2) *:只是一个修饰符,用来说明现在定义的变量,不是普通变量,而是指针变量(3)指针变量名:是个标识符 ,符合标识符命名规则定义多个指针变量://*用来修饰变量名int a = 10;//定义一个int型变量 初始化为10//定义了一个指针类型的变量p//用a的地址初始化//说,p指向了a理解:1.通过指针实现数据引用int a = 10;
2025-08-05 21:21:14
748
原创 C语言----(预处理)
语法:#define 标识符 字符串(1)预处理命令(2)标识符 --- 宏名(3)字符串 --- 宏值 ---这个字符串 只是 预处理阶段的 文本信息#define 宏名 宏值return 0;就是将后续的ARRAY_SIZE全替换为20结果是size=20用途:1.用一个更有可读性的标识符(宏名) 代表一个具体的值 (常量),提高代码的可读性2.符号常量 :见名知意 ,代码修改 ,一改全改3.语法:a.最后不能写分号b.宏名 : 一般建议大写 ,用于区分变量名。
2025-08-04 21:18:27
476
原创 C语言----函数
本文介绍了C语言函数的基础知识,包括函数的定义、语法结构、设计原则和使用方法。主要内容包括:1)函数由函数头和函数体组成,函数头包含返回值类型、函数名和形参;2)函数设计应遵循单一职责和高内聚低耦合原则;3)详细说明了形参与实参的匹配规则、返回值类型处理等注意事项;4)通过求和函数的实例演示了函数定义和调用的完整过程;5)讲解了递归函数的实现原理和典型应用(累加、斐波那契数列、汉诺塔问题);6)介绍了数组作为函数参数的两种写法。文章还简要说明了程序的五个内存分区及其作用。
2025-07-31 21:14:08
1455
原创 C语言----数组
int a[3][4] // 相当于定义了一个二维数组,3行4列,包含两个int型的数据的二维数组。eg:hello 和help相比就是比较不相同的那一位对应的,也就是l和p的ASCII比较,显然p的大。s[0] //相当于是内部的 一维数组的数组名 --- 类型 --- char[10]//有5个 char[10]这样类型的一个一维数组。接着昨天的继续学习,对输入的字符串长度的计算,可以用string函数。比较结束条件:si[i] == '\0' || s1[i]!
2025-07-30 21:56:04
445
原创 C语言-----数组
定义数组:类型说明符 + 数组名 + [常量表达式](1)类型说明符:这个数组要放的是哪一种类型的数据(2)数据名:标识符,名字符合标识符命名规则(3)[常量表达式]:数组的长度以及组成元素数组可分为:一维数组二维数组三位数组多维数组全部是初始化:全都给出值部分初始化:值优先给前面的元素,后面默认值是0不初始化:随机值初始化为0:int[10]={};数组长度可以省略,但是只能这样写:int a[]={1,2,3,4}数组的内存特点:1.连续性----连续空间。
2025-07-29 20:43:01
631
原创 勇闯嵌入式第四天(C语言基础--输入输出)
今天的学习是痛苦的,学得很艰难,特别是scanf的匹配空格符,让我伤脑筋,但是,这不是让我停止脚步的理由。明天继续加油!
2025-07-25 20:56:25
621
原创 勇闯嵌入式第二天(C语言基础)
在今天的学习过后,更进一步的了解了嵌入式最基础的编程语言,并且在逐渐的学习,我对此的兴趣越来越大,也逐渐感受到了语言的奇妙。希望明天能够更进一步!
2025-07-23 20:11:03
831
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1