- 博客(41)
- 收藏
- 关注
原创 sqlite3数据库常用的API接口及其错误码解释
sqlite3数据库常用的API接口 sqlite3_open sqlite3_errmsg sqlite3_close sqlite3_exec
2024-07-06 20:05:07 197
原创 基于TCP的在线词典系统(分阶段实现)(阻塞io和多路io复用(select)实现)
一共四个功能:注册登录查询单词查询历史记录单词和解释保存在文件中,单词和解释只占一行,一行最多300个字节,单词和解释之间至少有一个空格。
2024-07-06 20:01:16 707
原创 基于UDP的网络聊天室(多线程实现收和发消息)
2.有用户群聊,其他在线的用户可以收到群聊信息。3.有用户退出,其他在线的用户可以收到退出信息。要求:1.有新用户登录,其他在线的用户可以收到登录信息。4.服务器可以发送系统信息。
2024-06-26 21:31:53 313 3
原创 IPC进程间通信
(内部进程通信Internal process communication 一般问指的是System V版本的以下三个)4.消息队列5.共享内存6.信号灯集合ipcs查看IPC进程间通信ipcs -q //查看消息队列ipcs -m //查看共享内存ipcs -m //查看信号灯集。
2024-06-24 16:27:08 295
原创 Linux 7种 进程间通信方式
通过文件实现进程间通信 必须人为保证先后顺序 A--->硬盘---> B(B不知道A什么时候把内容传到硬盘中)1.无名管道2.有名管道3.信号4.消息队列5.共享内存6.信号灯集原理:如果A和B进程想要通过无名管道通信,那就,A进程向管道的一端写数据,B进程可以从管道的另外一端读数据。在A进程和B进程进行数据传输的时候是的。无名管道是的通信方式。如果A进程一直向管道中写数据写满64K的时候A进程阻塞,直到B进程读一部分数据之后A才能继续写。
2024-06-23 21:57:47 486
原创 Linux 多线程常用的API:pthread_self、pthread_exit、pthread_join、pthread_detach和pthread_cancel
Linux 多线程常用的API:pthread_self、pthread_exit、pthread_join、pthread_detach和pthread_cancel及其实例代码演示
2024-06-22 16:45:34 169
原创 线程简介及其函数使用实例(gcc *.c -lpthread)
线程概念、线程接口提供方式、线程创建使用到的函数、多线程创建实例 、多线程创建实例 、多线程执行顺序问题和多线程占用内存问题
2024-06-20 19:38:00 457
原创 exit和_exit函数和atexit函数
相对于return函数,exit和_exit是用于专门退出进程的函数,而return不是用于专门退出进程的,只是执行mian函数时,return可以退出进程。(return退出当前函数执行的栈空间,并返回当前函数执行的结果)exit实例 刷新缓冲区 输出1 2。_exit实例 输出 1。
2024-06-16 21:33:17 238
原创 多进程拷贝文件
光标问题:如果在fork前拷贝文件,父子进程共用光标,如果想父子进程不共用光标,父子进程各自使用各自的fd即可。使用两个进程拷贝文件,父进程拷贝前一半,子进程拷贝后一半。lseek光标定位函数。
2024-06-14 20:56:01 256
原创 进程状态及其转换
在linux系统启动的时候最先运行的进程就是0号进程,0号进程又叫空闲进程。如果系统上没有其他进程执行那么0号进程就执行。0号进程是1号进程和2号进程的父进程:init进程是由0号进程创建得到的,它的主要工作是系统的初始化。当初始化工作执行完之后,它主要负责回收孤儿进程(子进程没结束,父进程先没了 此时该子进程就是孤儿进程)的资源。(PS:僵尸进程:子进程死掉了 父进程还存在 但没有给它回收 ,此时死掉的子进程就变成了僵尸进程 僵尸态)
2024-06-14 16:10:26 841
原创 非阻塞IO简介和代码实例
recv和recvfrom的MSG_DONTWAIT O_NONBLOCK。以读操作为例,当进程执行读操作的时候,如果缓冲区内有内容,则读取内容继续执行。但对于大部分的函数并没有非阻塞标志位,可以使用fcntl函数设置非阻塞标志位。如果缓冲区没有内容,则立即返回一个错误,而非让进程进入休眠状态。eg: waitpid的WHOHANG。有些函数本身自带非阻塞标志位。
2024-06-13 15:09:43 222
原创 阻塞IO简介和代码示例
当进程执行读操作的时候,如果缓冲区有内容,则继续读取内容向下执行。缓冲区没内容,进程进入休眠态,直到缓冲区中再次有内容,由内核唤醒进程,读取缓冲区的内容,然后继续向下执行。:如果管道写满了,进程阻塞,等待有足够的空间容纳本次的写操作了,写操作继续执行,但大多数情况下,我们只关心读阻塞的问题。缺省情况下,套接字建立后的模式就是阻塞I/O模式。IO模型,大部分程序使用的都为阻塞IO模型。
2024-06-11 20:16:05 241
原创 TCP三次握手和四次挥手过程简介(抓包分析,简单易懂,小白)
链路层、网络层、传输层和应用层协议详解分析-CSDN博客wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。
2024-06-11 10:47:33 1015
原创 链路层、网络层、传输层和应用层协议详解分析
wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。
2024-06-07 20:43:18 795
原创 wireshark抓包分析
wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。
2024-06-06 09:48:22 366
原创 使用TCP客户端下载TCP服务器所在目录下的文件的功能(TCP实现文件传输和下载)
ubuntu 网络编程 使用TCP实现文件下载功能 客户端和服务器TCP实现文件传输和下载端()
2024-06-02 21:00:21 203 1
原创 YOLOv5 Detect.py 改变检测框box线条的粗细,隐藏检测框的检测信息,只显示检测框box
YOLOv5 Detect.py 改变检测框box线条的粗细,隐藏检测框的检测信息,只显示检测框box
2024-03-10 11:29:33 659 1
原创 Pycharm设置字体放大(缩小)快捷键,滑轮放大缩小(手把手教!超容易!)(或恢复系统默认字体变换设置)
file-------setting-----Keymap-------搜索Increase(用于放大字体) 【Decrease(减小字体)】 -----------increase Font size ------------按ctrl+滑轮向上滑动(按ctrl+滑轮向下滑动)----------点击OK。若退回代码界面操作没反应 重启软件 再试-------------成功设置!
2023-05-14 19:39:41 9895 4
原创 Ubuntu在VMware虚拟机下,开机弹出Could not apply the stored configuration for monitors
Ubuntu在VMware虚拟机下,开机弹出Could not apply the stored configuration for monitors
2023-03-12 21:12:11 385
原创 【ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问】
ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问
2022-10-27 18:00:32 1550
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人