自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从c到c++

c++是对c的升级和完善。

2022-08-23 21:14:28 386 1

原创 【IO多路复用】:允许同时对多个IO进行控制

因为在多路复用IO模型中,只需要使用一个线程就可以管理多个 socket,系统不需要建立新的进程或者线程,也不必维护这些线程和进程,并且只有在真正有socket读写事件进行时,才会使用IO资源,所以它大大减少了资源占用。该模型将事件探测和事件响应夹杂在一起,一旦事件响应的执行体庞大,那么就会导 致后续的事件迟迟得不到处理,并且会影响新的事件轮询,在很大程度上降低了事件探测的及时性。​ 这种模型的特征在于每一个执行周期都会探测一次或一组事件,一个特定的事件会触发某个特定的响应。基本原理:首先创建一张。

2022-08-19 17:19:11 963

原创 【IO与服务器】

在 Linux 的 缓存 IO 机制中,操作系统会将 IO 的数据缓存在文件系统的页缓存( page cache )中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。这给网络编程带来了一个很大的问题,如在调用send()的同时,进程将被阻塞,在此期间,进程将无法执行任何运算或响应任何的网络请求。整个IO请求的过程中,虽然用户线程每次发起IO请求后可以立即返回,但是为了等到数据,仍需要不断地轮询、重复请求,消耗了大量的CPU的资源。...

2022-08-18 20:52:19 990

原创 【无标题】TCP服务器与客户端的简易搭建与交互

tcp流程 服务器:socket() --> bind() --> listen() --> accept() --> read/write or recv/send -->close()(1).客户端给服务器发送一个字符串,服务器返回给客户端这个字符串的长度 sprintf(buf, “%d”, strlen(buf));客户端:socket() --> connect() --> read/write or recv/send -->close()tcp协议:面向连接的,一对一的可靠通信。...

2022-08-17 20:41:55 1114 1

原创 IP地址的几种类型

C类地址最大可用主机数:2^8 - 2 (主机号全为0是网关地址;A类地址最大可用网络数:2^7 - 2 (网络号除了第一位全0 匹配所有的IP地址;的一个最重要的特点,使所有各种计算机都能在因特网上实现互通,即具有“开放性”的特点。上称之为“帧”)的格式不同。B类地址最大可用网络数:2^14 - 1 (网络号除了前两位全0 匹配所有的IP地址)C类地址最大可用网络数:2^21- 1 (网络号除了前三位全0 匹配所有的IP地址)特点:2字节网络号 2字节主机号 网络号的前两位为10。...

2022-08-17 19:56:28 2067

原创 标准网络通信---TCP服务器的搭建

(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。数据以字节流(二进制流)的方式来进行传递,无大小限制,保证数据可靠,无丢失,顺序发送,主要用于TCP协议,(1)创建套接字----->socket() 正确返回:监听套接字 错误返回:-1。)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互。...

2022-08-15 20:38:25 3981 2

原创 system V IPC对象---共享内存

共享内存是进程间通信效率最高的一种通信机制

2022-08-11 20:33:29 177

原创 无名管道和有名管道

进程间的通信,管道字如其名,它就像在两个进程之间铺设了一条管道,进程通过管道进行数据交互。可以发现,从write_fifo里输入的值,read_fifo那里也输出了,说明fifo管道将他们连通了,可以传输数据。可以看到,当size=65536时,就不动了,说明管道写满了,大小为65536,当然,可能不同系统大小有所差异。可以看到WIFEXITED(status)的结果是0,说明为非正常退出,而程序也正常运行,所有就是管道破裂了。创建一个有名管道,一个进程向管道中输入数据,另一个进程输出数据。...

2022-08-10 18:58:34 2296

原创 【无标题】线程及其相关接口函数

进程被称为最小的资源分配单位线程被称为最小的任务调度单位

2022-08-09 17:13:01 120

原创 进程及其相关接口函数

分析:因为要持续不断地去记录时间并存在time文件日志中,所以我们可以开两个进程,父进程和子进程,并将子进程挂到后台,而回收父进程的资源空间,使其形成一个保护进程,就可以不断地去记录时间。​ 当用户打开一个终端时,就创建了一个会话,一个会话由一个或多个进程组组成,一旦终端关闭,该会话中所有进程组中的进程全部结束。一 个进程通过 fork 函数创建一个新的进程,原本进程称为新进程的父进程,新的进程称为原进程的子进程。​ 子进程称为孤儿进程,由前台进程变为后台进程,统一由init进程收养。...

2022-08-08 20:33:17 168

原创 【无标题】

linux IO中对目录的操作

2022-08-07 17:43:52 78

原创 Linux标准IO相关库函数和‘‘流‘‘

ftell()/fseek()/rewind()/ ---->定位文件。fopen()/fclose() ---->打开/关闭文件。fread()/fwrite() ---->按对象读写文件。fgetc()/fputc() ---->按字节读写文件。fgets()/fputs() ---->按行读写文件。fflush() ---->刷新流(强制刷新缓冲区)man 1:shell指令和可执行程序。feof() ---->判断错误流。man2:系统调用函数。man3:标准库函数。...

2022-08-04 20:51:33 203

原创 树的遍历:先序、中序、后序、层次遍历

void Show_tree(T_node *root)//先序遍历37 {=NULL)//为空时返回39 {//从根节点出发//递归调用自己,以左孩子再次作为根节点//递归调用自己,以右孩子再次作为根节点43 }44 return;45 }void Show_tree2(T_node *root)//中序遍历48 {=NULL)//为空时返回50 {//先从左孩子出发//左孩子访问完了后再访问根节点//最后右孩子54 }55 return;56 }...

2022-08-02 20:40:31 729

空空如也

空空如也

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

TA关注的人

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