自定义博客皮肤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)
  • 收藏
  • 关注

原创 Linux网络编程-10.web编程

10.1

2024-04-12 10:35:06 645

原创 Linux网络编程-9.HTML,CSS基础

9.1 HTMLhttp://www.w3school.com.cn/html/index.asphttp://www.runoob.com/HTML简介HTML,Hyper Texture Markup Language,超文本标记语言在计算机中以.html、.htm作为扩展名可以被浏览器访问, 就是经常见到的网页HTML特点语法非常简洁、比较松散,以相应的英语单词关键字进行组合html标签不区分大小写大多数标签是成对出现的, 有开始, 有结束<html>&lt

2024-02-02 16:16:58 930

原创 Linux网络编程-8.xml,Json

8.1 xml8.2 Json

2024-01-25 17:19:36 371

原创 Linux网络编程-7.libevent库

7.1 libevent基本概念libevent是干什么的开源的库,提高开发效率封装了socket通信封装了IO多路转接精简,专注于网络,高性能事件驱动libevent库的安装官方网站:http://libevent.org源码下载:1.4.x – 适合源码学习2.x源码包的安装:./configure检测安装环境生成makefilemake编译源代码生成库、可执行文件sudo make install将数据拷贝到系统中默认目录

2024-01-20 10:11:01 762

原创 Linux网络编程-6.本地套接字

6.1 广播服务器创建套接字 - socketfd绑定服务器IP和端口初始化客户端IP和端口信息:struct sockaddr_in cli;cli.sin_family = AF_INET;cli.port = htons(port);inet_pton(AF_INET, "xxx.xxx.xxx.255", &cli.sin_addr.s_addr);发送数据:sendto(fd, buf, len, 0);设置广播权限setsockopt();

2024-01-18 17:13:48 927

原创 Linux网络编程-4. I/O多路转接

4.1 I/O多路转接I/O多路转接技术:先构造一张有关文件描述符的列表,将要监听的文件描述符添加到列表中然后调用一个函数,监听该列表中的文件描述符,知道这些描述符中的一个进行I/O操作时,该函数才返回– 该函数为阻塞函数– 函数对文件描述符的检测操作是由内核完成的在返回时,他告诉进程有多少(哪些)描述符要进行I/O操作使用多路转接技术:select、poll、epoll第一种:select、poll只能确定数量第二种:epoll不仅能确定数量、而且能确定是哪一个4.2

2024-01-12 15:06:19 801 1

原创 Linux网络编程-5.UDP通信

5.1 UDP通信流程由于面向无连接通信,所以在收发数据时通过IP和端口Server:// 1. 创建套接字int fd = socket(FA_INET, SOCK_DGRAM, 0);// 2. 绑定IP和端口bind();// 3. 通信// 接收数据:recvfrom(); // 会保存client的IP和port// 发送数据:sendto();// 4. 关闭套接字close(fd);Client:// 1. 创建套接字int fd = socket(AF_

2024-01-12 15:05:43 964 1

原创 Linux网络编程-3.TCP并发服务器

3.1 TCP多进程并发服务器共享:读时共享,写时复制文件描述符内存映射区父进程:等待接受客户端连接有连接– 创建一个子进程关闭通信的文件描述符子进程:通信关闭监听的文件描述符子进程资源回收:wait()/waitpid()signalsignal()sigaction()SIGCHLD限制:硬件文件描述符上限(1024)3.1.1 多进程伪代码void recyle(int num){ whiel(waitpid(-1,

2024-01-11 15:35:53 384 1

原创 Linux网络编程-2.TCP通信

2.socket编程2.1 socket编程基础socket网络通信的函数接口封装了传输层协议– TCP– UDP2.1.1 socket套接字创建一个套接字得到的是一个文件描述符套接字创建成功,得到一个文件描述符fdfd操作的是一块内核缓冲区默认是阻塞状态...

2024-01-10 08:45:09 866 1

原创 Linux网络编程-1.网络基础

1. 网络基础

2024-01-09 13:21:25 388 1

原创 Linux程序设计-7.线程同步

7. 线程同步线程同步:协调步骤,顺序执行7.1 销毁并初始化一个锁pthread_mutex_init()包含头文件:#include <pthread.h>函数原型:int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);参数说明restrict约束该块内存区域对应的数据,只能通过后面的变量进行访问和修

2024-01-08 10:37:16 975 1

原创 Linux程序设计-6.线程

6. 线程LWP: light weight process 轻量级的进程,本质仍是进程(Linux环境下)进程:独立空间地址,拥有PCB线程:也有PCB,但是没有独立的地址空间(共享)区别:在于是否共享空间地址Linux下:线程:最小的执行单位进程:最小的分配资源单位,可以看成是一个线程的进程...

2024-01-07 23:37:52 830 1

原创 Linux程序设计-5.守护进程

5

2024-01-05 12:55:33 387 1

原创 Ubuntu18.04中QtCreator无法输入中文

Ubuntu18.04中QtCreator无法输入中文

2023-10-17 21:27:49 277

原创 Linux程序设计-4.进程通信

4. 进程通信4.1 管道4.1.1 创建管道pipe()帮助手册man 2 pipe包含头文件:#include <unistd.h>函数原型:int pipe(int pipefd[2]);函数说明:pipefd[0]:为管道的读取端pipe[1]:为管道的写入端。属于半双工通信,管道大小512*8参数说明pipefd管道的文件描述符return成功:0失败:-1,并设置errno示例:#include <std

2022-02-15 22:58:30 145

原创 Linux程序设计-3.进程控制

3. 进程控制3.1 环境变量3.1.1 获取环境变量getenv()帮助手册:man 3 getenv包含头文件:`#include <stdlib.h>函数原型:char *getenv(const char *name);参数说明name环境变量return成功:环境变量的值失败:NULL3.1.2 修改或添加环境变量setenv()帮助手册:man 3 setenv包含头文件:`#include <stdlib.

2022-02-13 21:00:31 666

原创 Linux程序设计-2.文件和目录

2. 文件和目录2.1 文件2.1.1 获取文件状态stat()帮助手册:man 2 stat包含头文件:#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>函数原型:int stat(const char *pathname, struct stat *statbuf);参数说明pathname文件名statbuf文件状态结构体re

2022-02-12 10:17:07 768

原创 Linux程序设计-1.文件I/O

1. 文件I/O1.1 打开和可能创建一个文件open()帮助文档:man 2 open包含头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>函数原型:int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);参数说明

2022-02-11 11:37:51 680

原创 Linux中gcc编译流程,库的制作,makefile的编写以及gdb调试

1. gcc编译1.1 gcc编译流程GCC 编译器在编译一个C语言程序时需要经过以下 4 步:将C语言源程序预处理,生成.i文件。预处理后的.i文件编译成为汇编语言,生成.s文件。将汇编语言文件经过汇编,生成目标文件.o文件。将各个模块的.o文件链接起来生成一个可执行程序文件。参数说明-o file生成目标file文件-E预处理后就停止,不会编译,默认输出到终端-S编译之后就停止,不会汇编,生成汇编代码-c执行汇编之后就停止,不会链接,生

2022-02-10 15:45:05 1204 1

原创 vim常用命令

vim教程:vimtutot1. 命令模式快捷键1.1 光标的移动快捷键说明k上j下h左l右w移动到下一个单词首0行首$行尾gg文件头G文件尾ngg 或 nG移动到第n行1.2 删除内容快捷键说明x删除光标所在的字符dw删除光标位置开始的一个单词d0删除光标位置到行首d$删除光标位置到行尾D删除光标位置到行尾dd删除光标所在行ndd

2022-02-09 20:21:28 639

原创 Linux常用命令

1. 查看历史命令history [option]2. 查看文件信息(list)ls [option] [dir/file]帮助文档:man ls常用参数参数解释-l显示详细信息-a显示所有文件-A同 -a ,但不列出 “.” (当前目录) 及 “…” (父目录)-R递归显示子目录的信息-h便于阅读-r将文件以相反次序显示(原定依英文字母次序)-t将文件依建立时间之先后次序列出-F在列出的文件名称后加一符号;例如可执行

2022-02-08 16:50:58 741

原创 archlinux-i3窗口管理基础配置

i3安装及配置

2022-01-17 14:17:18 926

原创 Arch Linux系统安装

Arch Linux 系统安装

2021-12-08 16:45:03 1671

原创 Linux 启动smb服务器,windows连接smb 服务器

在centos中启动smb服务器,在windows10中连接smb服务器1.安装smb服务器yum install -y samba2.编辑配置文件2.1 备份配置文件备份默认的配置文件,以免配置错误。cp /etc/samba/smb.conf /etc/samba/smb.conf.bak2.2 修改配置文件然后在/etc/samba/smb.conf里面插入以下一段代码:[share] # share为文件夹名字comment=Temporary file spacepath=/

2021-11-09 15:46:15 2299

原创 manjaro+Windows10双系统安装

manjaro+Windows10

2021-11-06 11:40:23 5541 2

空空如也

空空如也

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

TA关注的人

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