- 博客(8)
- 收藏
- 关注
原创 探索高性能IO:io_uring与epoll对比
因为我是直接安装了linux系统,可能qps比虚拟机更快一点。由此可以看出,io_uring比epoll性能稍微好一点。
2025-08-07 22:28:34
172
原创 u_context实现网络io协程
关于什么是协程?见过最多的一句话就是:同步的代码实现异步的效能。网上有很多关于协程的博文,但要么照抄别人,要么只是一个简介,还有的是直接上汇编,可是没有汇编基础呀。难受了好久,总算出来了一个雏形。由于c语言天然缺少面向对象的特性,可能代码比较杂乱,有心之人可以整理成c++代码,应该会有条理一点。代码共分了四个模块,协程模块、调度器模块、socket模块、hook劫持模块。另外有个main.c,还有一个公共头文件。共10个文件。
2025-06-25 23:46:14
1440
原创 用TCP实现PTP
关于什么是SYN_SENT、SYN_RCVD状态,读者可自行搜索“TCP状态连接图”。两个客户端同时连接,状态如下。想要用epoll,但是只能知道自己的socket fd,不能知道连接者的fd,所以没必要用epoll。这里实现了两者能正常通信就可。因为这里目的就是为了验证从SYN_SENT到SYN_RCVD状态的更换。
2025-06-18 21:50:27
260
原创 Windows编写Linux代码代码补全
在linux上使用samba服务,远程用Windows连接Linux,并在Windows上用VScode写Linux代码时。
2025-06-14 09:40:11
268
原创 Reactor百万级并发
Qps:前面1000个连接耗费大约1秒多一点。到达28万左右时1000个连接将近10秒钟,后面慢慢达到20秒。最终测试一台虚拟服务器,一台虚拟客户端。测试可以连接到34万。:五元组不够-Cannot assign requested address。代码逻辑其实没有啥复杂,关键就是要把epoll三个函数弄懂到底是干啥的。方法2:需要在/etc/security/limits.conf中添加。方法1:Ubuntu没测试,centos可以。它是一种简单并且有效的实现资源限制的方式。:centos中修改不生效。
2025-06-09 21:28:02
646
原创 vs2019制作静态库
首先建立项目时选静态库他喵的生成什么乱七八糟的东西,不想要把每一个文件删除。然后建立自己的.h和.cpp(或.c)文件例如.h文件#pragma onceint add(int a, int b);cpp文件#include "testlib.h"int add(int a, int b){ return a + b;}关键来了,编译解决方案这样就可以了。...
2022-03-31 11:19:31
234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人