
Linux&C
文章平均质量分 73
Linux菜鸟记录
菜鸟看点
这个作者很懒,什么都没留下…
展开
-
静态存储区(Static Storage Area)的总结
静态存储区(Static Storage Area)的总结原创 2025-04-23 23:37:43 · 936 阅读 · 0 评论 -
生产者和消费者线程循环
线程安全-生产者消费者模型原创 2023-09-04 23:44:20 · 382 阅读 · 0 评论 -
kill -9 xxx重定义killall xxx
kill -9 xxx重定义killall xxx。原创 2023-01-29 10:11:17 · 232 阅读 · 0 评论 -
make编译出错Relocations in generic ELF (EM: 62)
make编译出错Relocations in generic ELF (EM: 62)原创 2022-11-28 10:01:27 · 13968 阅读 · 0 评论 -
虚拟机的网络图标丢失|共享文件夹识别不存在
跑了2台虚拟机(16.04+20.04)有时候切换会出现网络图标丢失|共享文件夹识别不存在原创 2022-11-21 13:45:19 · 375 阅读 · 0 评论 -
C语言:static,volatile,const,extern,register,auto, 栈stack结构
C语言:static,volatile,const,extern,register,auto原创 2022-08-28 12:38:07 · 703 阅读 · 0 评论 -
智慧物联仓储可视化管理系统
1.项目名称:基于cortex-A7的智慧物联仓储可视化管理系统 2.开发语言:C、HTML 3.开发平台:Ubuntu-18.4 Windows104.linux内核版本 5.10 5.硬件平台:STM32MP157a(cortex-A7 & cortex-M4) STM32MP157a由 意法半导体提供 ......原创 2022-08-24 16:51:35 · 2912 阅读 · 0 评论 -
Vmware虚拟机问题解决
Vmware虚拟机“该虚拟机正在使用中”或者打开Vmware主页空白 Ubuntu18.04虚拟机右上角的网络图标消失连不上网络原创 2022-08-22 14:43:55 · 2709 阅读 · 0 评论 -
AI人机对话-无能版+C/C++内存面试题
AI人机对话-无能版原创 2022-08-15 22:38:02 · 787 阅读 · 0 评论 -
数组指针-指针数组-函数指针-指针函数-函数指针数组-常量指针-指针常量
数组指针-指针数组-函数指针-指针函数-函数指针数组原创 2022-08-01 19:09:01 · 249 阅读 · 0 评论 -
基于SQLite数据库的多进程实现TCP并发-员工管理系统
基于SQLite数据库的多进程实现TCP并发-员工管理系统原创 2022-08-01 10:45:38 · 1993 阅读 · 0 评论 -
基于SQLite数据库的IO多路复用(epoll)实现TCP并发-员工管理系统{一个帐号只能一个人登录}
基于SQLite数据库的IO多路复用(epoll)实现TCP并发-员工管理系统{一个帐号只能一个人登录}原创 2022-08-01 10:32:21 · 1301 阅读 · 0 评论 -
基于SQLite数据库的IO多路复用(epoll)实现TCP并发-员工管理系统
服务端管理所有员工数据信息(用户分级管理)管理员可以对所有员工的数据信息进行增、删、改、查 普通用户只可以查询自身信息数据 且 可以修改除薪资和职务以外的数据数据管理 sqlite3原创 2022-08-01 00:17:13 · 1490 阅读 · 0 评论 -
随机数-C语言-Python
随机数-C语言-Python原创 2022-06-04 18:42:40 · 281 阅读 · 0 评论 -
基于SQLite数据库的学生管理系统-C语言
基于SQLite数据库的学生管理系统-C语言实现原创 2022-06-03 17:09:25 · 942 阅读 · 2 评论 -
使用TCP实现本地通信-本地通信的信息结构体sockaddr_un-传输层
目录使用TCP实现本地通信socket本地通信使用的信息结构体TCP本地通信流程代码实现服务器---01server.c客户端---02client.c执行结果注意使用TCP实现本地通信socket #include <sys/types.h #include <sys/socket.h> int socket(int domain, int type, int protocol); 参数: domain:用于指定通信领域 AF_UNIX, AF_LOCAL原创 2022-05-30 22:48:19 · 825 阅读 · 0 评论 -
使用UDP实现本地通信-本地通信的信息结构体sockaddr_un-传输层
目录使用UDP实现本地通信socket本地通信使用的信息结构体UDP本地通信流程代码实现服务器---01server.c客户端---02client.c执行结果注意使用UDP实现本地通信socket #include <sys/types.h #include <sys/socket.h> int socket(int domain, int type, int protocol); 参数: domain:用于指定通信领域 AF_UNIX, AF_LOCAL原创 2022-05-30 21:27:19 · 975 阅读 · 0 评论 -
使用UDP实现广播-使用 setsockopt 设置发送端允许发送广播权限-传输层
目录使用UDP实现广播概念广播的用处广播的流程使用 setsockopt 设置允许发送广播权限代码实现接收端—01receive.c发送端—02send.c执行结果注意6.非原创使用UDP实现广播概念只有用户数据报(UDP协议)套接字才能广播同时发给局域网中的所有主机,称为广播具体广播地址 可以通过 ifconfig 命令 看 关键字 broadcast 后面的地址广播的用处ARP协议 通过 IP 地址获取对方的mac地址,就是使用广播实现的。广播的流程------原创 2022-05-29 21:42:43 · 2017 阅读 · 0 评论 -
使用UDP实现组播-使用 setsockopt 设置接收端加入多播组-传输层
使用UDP实现组播原创 2022-05-29 19:29:25 · 5204 阅读 · 1 评论 -
多进程实现TCP并发服务器使用alarm闹钟实现网络超时检测-传输层
使用alarm闹钟实现网络超时检测;使用 sigaction 函数设置信号的行为当使用alarm闹钟函数设置一定的时间后,代码继续向下执行,当设定的时间到了, 会产生 SIGALRM 信号。SIGALRM 信号该信号用于 通知 进程 定时器 时间 已到默认操作:终止进程原创 2022-05-27 23:26:40 · 703 阅读 · 0 评论 -
多线程实现TCP并发服务器使用setsockopt设置超时检测-使用setsockopt设置端口复用-传输层
使用多线程实现TCP并发服务器代码实现服务器使用setsockopt设置&getsockopt获取网络属性网络超时检测原创 2022-05-24 22:19:59 · 1986 阅读 · 0 评论 -
IO多路复用(select)实现TCP并发服务器-使用select函数实现超时检测-传输层
目录使用select函数实现超时检测网络超时检测概念select代码实现服务器—01server.c客户端—02client.c执行结果6.非原创使用select函数实现超时检测网络超时检测概念阻塞:以读阻塞为例,如果缓冲区中有内容,则程序正常执行如果缓冲区没有内容,程序会一直阻塞,直到有内容,读取内容继续向下运行。非阻塞 :以读阻塞为例,如果缓冲区中有内容,则程序正常执行如果缓冲区没有内容,程序会立即返回,然后继续向下运行。超时检测:介于阻塞和非阻塞之间,需要设置一定的时间,原创 2022-05-23 21:47:45 · 608 阅读 · 0 评论 -
Linux&C语言简单使用IO多路复用(select)实现TCP并发服务器-传输层
IO多路复用实现TCP并发服务器服务器模型分为两种,循环服务器、并发服务器。循环服务器: 服务器在同一时刻只能处理同一个客户端的请求。并发服务器: 服务器在同一时刻能处理多个客户端的请求。TCP服务器默认的就是一个循环服务器,因为内部有两个阻塞的函数, accept recv 会相互影响UDP服务器默认的就是一个并发服务器,因为只有一个阻塞的函数 recvfrom原创 2022-05-23 20:33:24 · 2600 阅读 · 0 评论 -
Linux&C语言简单使用多进程实现TCP并发服务器-传输层
目录多进程实现TCP并发服务器前言原理代码实现服务器—01server.c客户端—02client.c执行结果多进程实现TCP并发服务器前言服务器模型分为两种,循环服务器、并发服务器。循环服务器: 服务器在同一时刻只能处理同一个客户端的请求。并发服务器: 服务器在同一时刻能处理多个客户端的请求。TCP服务器默认的就是一个循环服务器,因为内部有两个阻塞的函数, accept recv 会相互影响UDP服务器默认的就是一个并发服务器,因为只有一个阻塞的函数 recvfrom原理父进程原创 2022-05-22 18:22:33 · 687 阅读 · 0 评论 -
Linux&C语言简单使用多线程实现TCP并发服务器-传输层
目录多线程实现TCP并发服务器前言原理代码实现服务器---01server.c客户端---02client.c执行结果6.非原创多线程实现TCP并发服务器前言服务器模型分为两种,循环服务器、并发服务器。循环服务器: 服务器在同一时刻只能处理同一个客户端的请求。并发服务器: 服务器在同一时刻能处理多个客户端的请求。TCP服务器默认的就是一个循环服务器,因为内部有两个阻塞的函数, accept recv 会相互影响UDP服务器默认的就是一个并发服务器,因为只有一个阻塞的函数 recvf原创 2022-05-22 17:13:47 · 1062 阅读 · 0 评论 -
VSCode远程连接Linux-使用密钥进行ssh免密登录
目录具体安装步骤如下如上步骤执行后还是不能免密免密登录重新打开VSCode即可具体安装步骤如下通过win上VSCode远程连接ubuntu20.04(详细!!!解决了许多中间会出现的问题供参考!)在Win10上使用SSH远程连接Linux搭建VSCode开发环境如上步骤执行后还是不能免密免密登录打开— C:\uesr\电脑名称.ssh用记事本打开 — id _ tsea.pub全选,复制打开Ubuntucd ~/.ssh/vi authorized_keys 在原创 2022-05-18 20:03:01 · 1199 阅读 · 0 评论 -
Linux&C语言简单实现基于UDP的网络群聊聊天室recvfrom/sendto-传输层-精简
目录UDP 客户端 和 服务器 通信要求提示代码实现服务器—01server.c客户端—02client.c执行结果注意UDP 客户端 和 服务器 通信要求有新用户登录,其他在线的用户可以收到登录信息有用户群聊,其他在线的用户可以收到群聊信息有用户退出,其他在线的用户可以收到退出信息服务器可以发送系统信息提示客户端登录之后,为了实现一边发送数据一边接收数据,可以使用多进程或者多线程服务器既可以发送系统信息,又可以接收客户端信息并处理,可以使用多进程或者多线程服务器需要给多个用户发送原创 2022-05-17 23:21:06 · 881 阅读 · 0 评论 -
Linux&C语言简单实现基于UDP的网络群聊聊天室recvfrom/sendto-传输层
目录UDP 客户端 和 服务器 通信要求提示代码实现服务器---01server.c客户端---02client.c头文件---uDP.h执行结果注意精简如下UDP 客户端 和 服务器 通信要求有新用户登录,其他在线的用户可以收到登录信息有用户群聊,其他在线的用户可以收到群聊信息有用户退出,其他在线的用户可以收到退出信息服务器可以发送系统信息提示客户端登录之后,为了实现一边发送数据一边接收数据,可以使用多进程或者多线程服务器既可以发送系统信息,又可以接收客户端信息并处理,可以使用多进原创 2022-05-17 21:32:25 · 1115 阅读 · 0 评论 -
Linux&C语言简单使用select实现IO多路复用--网络编程
目录使用select实现IO多路复用代码实现1.创建有名管道mkfifo fifo1 fifo2 fifo32. read.c ---3进程写入3.01write.c 02write.c 03write.c执行结果6.非原创使用select实现IO多路复用用父子进程—实现进程间可以多次输入读取使用select实现IO多路复用,就可以读取同一进程多次输入,不受读取其他进程时,read的阻塞,读取只阻塞在select代码实现1.创建有名管道mkfifo fifo原创 2022-05-15 11:57:10 · 565 阅读 · 0 评论 -
多进程多路输入输出--有名管道FIFO
目录多进程输入,非阻塞输出缺点多进程处理多路输入输出代码实现a.cb.c执行结果6.非原创多进程输入,非阻塞输出各个进程使用父子进程,分别完成读写缺点应用程序中同时处理多路输入输出流,若设置多进程,分别处理一条数据通路,将新产生进程间的同步与通信问题, 使程序变得更加复杂;比较好的方法是使用I/O多路复用多进程处理多路输入输出代码实现a.c#include <stdio.h>#include <sys/stat.h>#include <fcn原创 2022-05-15 10:36:00 · 482 阅读 · 0 评论 -
write写操作也会阻塞的且只有read读取4Kb(4096Byte)后,才能再写入--阻塞IO
目录write写操作阻塞后read读取4Kb才能再写入证明---read读取4Kb才能解除1.mkfifo my_fifo在数据读出时,FIFO管道中同时清除数据,并且“先进先出"2.read.c3.write.c执行结果1. 第一次write写操作阻塞在64K2. 读取4K后,第二次write写操作阻塞在64K+4K=68K3. 读取4K后,第三次write写操作阻塞在68K+4K=72Kwrite写操作阻塞后read读取4Kb才能再写入写操作也是会阻塞的,当缓冲区满的时候,写操作就会阻塞当原创 2022-05-14 22:03:55 · 1427 阅读 · 0 评论 -
Linux&C语言简单实现抓包分析-Wireshark
目录一、数据交互1.Windows运行网络调试助手作为 TCP 服务器2.Ubuntu启动一个TCP客户端程序客户端---02client.c执行结果二、抓包分析wireshark1.应用层---用户数据2.传输层---TCP协议转载:3.网络层---IP协议路由器是根据ip地址来收发数据的,路由器是一个工作在网络层的设备4.链路层---以太网(MAC)交换机是根据mac地址收发数据的,所以交换机是工作在链路层的设备6. 非原创一、数据交互1.Windows运行网络调试助手作为 TCP 服务器Net原创 2022-05-14 18:49:41 · 2527 阅读 · 0 评论 -
Linux&C语言简单实现客户端使用TFTP协议文件下载-网络编程-应用层
目录编写客户端,使用TFTP协议,完成文件下载的功能。1.安装tftpd322.TFTP协议3.打开服务器tftpd324.客户端代码实现执行结果注意6.非原创编写客户端,使用TFTP协议,完成文件下载的功能。基于C语言实现,TFTP练习——用recvfrom( )/ sendto( )命令行输入指定IP、端口1.安装tftpd32教程链接2.TFTP协议数据传输模式:octet:二进制模式TFTP通信过程TFTP通信过程1、服务器在69号端口等待客户端的请求原创 2022-05-14 15:06:56 · 2940 阅读 · 0 评论 -
Linux&C语言简单实现UDP客户端和服务器通信recvfrom/sendto-网络编程-传输层
目录UDP客户端和服务器通信流程字节序转换函数IP地址转换的函数:将套接字和网络信息结构体绑定bind代码实现服务器----02server.c客户端----01client.c执行结果注意6.非原创UDP客户端和服务器通信基于C语言实现,UDP练习——用recvfrom( )/ sendto( )命令行输入指定IP、端口流程服务器:1.创建流式套接字 socket2.填充服务器的网络信息结构体3.将网络信息结构体和套接字进行绑定 bind5.收发数据 readfrom / se原创 2022-05-12 21:35:04 · 1055 阅读 · 0 评论 -
Linux&C语言简单实现TCP客户端下载服务器文件-TCP 粘包问题-传输层
这里写目录标题客户端下载服务器所在目录的文件TCP 粘包问题- -面试解决方案recvsend要求代码实现服务器-----server.c客户端----client.c执行结果6. 非原创客户端下载服务器所在目录的文件TCP 粘包问题- -面试TCP的底层有一个 Nagel 算法,这个算法会将一定短的时间内的发往同一个接收端的多个小的数据包组装成一个整体 发送给对方但是对方没法确定每条消息的边界,所以就导致了 接收方收到消息后无法正确的解析解决方案- 只要保证每原创 2022-05-12 20:15:09 · 1706 阅读 · 0 评论 -
Linux&C语言简单实现TCP客户端和服务器通信recv/ send-网络编程
这里写目录标题TCP客户端和服务器通信流程字节序转换函数IP地址转换的函数:将套接字和网络信息结构体绑定bind代码实现01server.c02client.c执行结果6. 非原创TCP客户端和服务器通信基于C语言实现,TCP练习——用recv( )/ send( )命令行输入指定IP、端口流程服务器:1.创建流式套接字 socket原创 2022-05-12 18:40:41 · 1258 阅读 · 0 评论 -
Linux&C语言简单实现TCP同主机通信read/write-网络编程
这里写目录标题TCP客户端和服务器通信流程字节序转换函数IP地址转换的函数:将套接字和网络信息结构体绑定bind代码实现01server.c02client.c执行结果6. 非原创TCP客户端和服务器通信基于C语言实现,TCP练习——用read-write流程服务器:1.创建流式套接字 socket2.填充服务器的网络信息结构体3.将网络信息结构体和套接字进行绑定 bind4.将套接字设置成被动监听状态 listen5.阻塞等待客户端连接 accept6.收发数据 read/w原创 2022-05-12 18:12:18 · 940 阅读 · 0 评论 -
Linux&C语言简单实现线程间通信-信号量(灯)集-IO进程
1. 基于C语言实现,IO进程-进程间通信-信号量练习2. 代码实现信号量的API(ftok|semget|semop|semctl)参考1 | 参考201sem.h#ifndef __SEM_H__#define __SEM_H__#include <stdio.h>/*|shmget|shmat|shmdt|shmctl)*/#include <sys/shm.h>/*fgets*/#include <stdio.h>/*strlen-strcm原创 2022-05-09 21:25:06 · 972 阅读 · 0 评论 -
Linux&C语言简单实现双线程拷贝-文件IO实现
1. 基于C语言实现,文件IO练习2. 代码实现#include <stdio.h> // Shift + Alt + F 实现代码的对齐;/* open函数的头文件---文件IO*/#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>/*exit*/#include <stdlib.h>/*pthread_create创建线程,pthrea原创 2022-05-07 08:56:32 · 590 阅读 · 0 评论 -
Linux&C语言简单实现双/3进程拷贝-文件IO实现
1. 基于C语言实现,文件IO练习2.代码实现2.1使用父子进程拷贝同一个文件,父进程拷贝前半部分,子进程拷贝后半部分#include <stdio.h> // Shift + Alt + F 实现代码的对齐;/* fork函数的头文件*/#include <sys/types.h>#include <unistd.h>/* open函数的头文件---文件IO*///#include <sys/types.h>#include原创 2022-05-06 23:19:19 · 883 阅读 · 0 评论