自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三、时间轮定时器&&正则表达式&&any通用类

在我们的项目中,为了让服务器能够断开掉非活跃连接,我们可以使用Linux给我们提供的定时器。下面这段代码演示了Linux定时器的使用上边例子,是⼀个定时器的使用示例,是第一次等待3s后每隔1s钟触发⼀次定时器超时,否则就会阻塞在read读取数据这里。基于这个例子,则我们可以实现每隔1s,检测⼀下哪些连接超时了,然后将超时的连接释放掉。时间轮思想:上述的例子,存在⼀个很大的问题,每次超时都要将所有的连接遍历⼀遍,如果有上万个连接,效率无疑是较为低下的。

2023-12-01 22:49:10 832 1

原创 二、功能模块划分

然 后调用由组件使用者传入的新数据到来回调函数进行处理。Connection模块是对Buffer模块,Socket模块,Channel模块的⼀个整体封装,实现了对⼀个通信套 接字的整体的管理,每⼀个进⾏数据通信的套接字(也就是accept获取到的新连接)都会使⽤ Connection进行管理。Channel模块是对⼀个描述符需要进⾏的IO事件管理的模块,实现对描述符可读,可写,错误...事件的 管理操作,以及Poller模块对描述符进⾏IO事件监控就绪后,根据不同的事件,回调不同的处理函数功能。

2023-11-30 22:34:39 1009

原创 一、项目介绍以及前置知识介绍

通过该项目实现的高并发服务器组件可以简洁快速的完成一个高性能服务器的搭建。并且通过组件內提供的不同应用层协议支持,也可以快速完成一个高性能应用服务器的搭建(该项目实现的组件只提供了对HTTP协议的支持)。在这里要明确的是,该项目实现的是一个高并发服务器组件,因此当前项目中并为了完成该项目需要对一些前置知识有一定的了解,接下来我会一一对不同的前置内容做出解释。

2023-11-29 13:29:24 812 1

原创 c语言之动态内存管理

c语言的动态内存分配

2023-03-29 19:58:07 48

原创 c++学习笔记自看:类和对象

C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。类的两种定义方式: 1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。2. 类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名::一般情况下,更期望采用第二种方式。

2023-03-24 22:53:48 50

原创 c++初学阶段之auto关键字

c++auto关键字

2023-03-24 18:35:55 111

原创 c语言模拟实现string.h库函数

模拟实现c语言字符操作及内存操作函数

2023-03-18 19:26:20 57

原创 深度剖析数据在内存中的存储

深度剖析数据在内存中的存储

2023-03-08 23:35:31 57

原创 c语言初阶------简单版扫雷小游戏

c语言初学者实现简单版扫雷小游戏

2023-03-03 10:20:13 156 1

空空如也

空空如也

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

TA关注的人

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