摘要: 一. 百万并发的TCP服务器介绍 上一节已经介绍了TCP服务器的两个版本的实现,跳转:08_TCP服务器:一请求一线程 & epoll。 但是即使是使用了epoll也无法做到100万的并发量。本节将针对上一节 08_TCP服务器:一请求一线程 & epoll的代码基础上进行优化,最终实现百万并发的T 阅读全文
posted @ 2025-11-21 10:08 Xiaomostream 阅读(0) 评论(0) 推荐(0)
摘要: 一. TCP服务器 TCP 服务器是互联网行业公司的基础部门,不管是浏览网页还是在手机里的各种app,都需要直接或间接地访问它。 TCP 服务器是运行在某个端口上的网络程序,用于接收客户端的连接请求,并与之进行数据通信。主要负责: 等待并接收客户端的连接请求 与客户端建立可靠的双向通信通道 持续收发 阅读全文
posted @ 2025-11-20 13:18 Xiaomostream 阅读(4) 评论(0) 推荐(0)
摘要: 一.http协议的介绍 当我们在浏览器里,想要请求目标网站里的资源(图片、数据、应用接口等),这些资源来自于服务器,而这个请求过程需要http客户端来实现。本文将通过C语言实现基于TCP连接的http客户端请求。 步骤如下: 建立tcp连接 (a.通过DNS请求获得其ip地址 b. tcp连接这个i 阅读全文
posted @ 2025-11-11 17:17 Xiaomostream 阅读(6) 评论(0) 推荐(0)
摘要: 本文将通过C语言,手写实现一个基于UDP编程的DNS域名解析。 一.DNS是什么? DNS(Domain Name System)的作用将我们容易记忆的域名转换为计算机可以处理的IP地址,DNS 使用 TCP 和 UDP 端口 53。 常用的nslookup命令,可以帮助我们快速查询对应域名的ip地 阅读全文
posted @ 2025-10-24 21:41 Xiaomostream 阅读(9) 评论(0) 推荐(0)
摘要: Mysql5.7的安装、配置、卸载 安装Mysql5.7 由于我的虚拟机版本为Ubuntu22.04, 不能通过apt-get安装,只能通过wget下载5.7资源包,编译安装。 参考链接:https://www.cnblogs.com/DingyLand/p/17466734.html # 更新ap 阅读全文
posted @ 2025-10-13 19:06 Xiaomostream 阅读(9) 评论(0) 推荐(0)
摘要: 一. 线程池使用场景 避免线程太多,使得内存耗尽 posix下,一个线程需要8M的运行内存, 16G内存的服务器最多只能开 16*128=2048 个线程 避免创建与销毁线程的代价 任务与执行分离 eg1. 日志文件,磁盘操作往往比内存操作慢汗多,写线程的时候,会引起线程的挂起 写日志的任务 | 执 阅读全文
posted @ 2025-10-10 19:46 Xiaomostream 阅读(9) 评论(0) 推荐(0)
摘要: 通过10个线程池模拟火车站抢票问题 一. 用程序模拟这个过程 10个线程池共享 count 这个资源, 回调函数对count进行++操作 设置回调函数对当前count++十万次,看最后是否是100万次 gcc -o lock lock.c -lpthread 最终由于不同线程抢占,导致最终 coun 阅读全文
posted @ 2025-10-10 11:34 Xiaomostream 阅读(19) 评论(0) 推荐(0)
摘要: 一.通讯录功能: 1.添加一个人员 2.打印所有人员 3.删除一个人员 4.查找一个人员 5.保存文件 6.加载文件 二.产品方案: 人员存储的数据结构:链表 人员的信息:姓名,电话 文件存储的格式:name: xxx,phone: xxx 业务层:业务逻辑 接口层:add,del,search,t 阅读全文
posted @ 2025-10-10 11:30 Xiaomostream 阅读(6) 评论(0) 推荐(0)
摘要: 目标是记录文件b.txt中的单词数,将该任务当作状态机 1.字符无非就两种状态,要么是分隔符,要么是单词中的字母 如果当前是分割符,记录状态为 OUT 否则就是单词,记录状态为 IN,只需要记录从 OUT->IN 的次数,因为单词的个数其实就是每个单词的首字符的出现个数 2.fopen: FILE 阅读全文
posted @ 2025-10-10 11:14 Xiaomostream 阅读(15) 评论(0) 推荐(0)
摘要: Makefile 文件命名及规则 app:sub.c add.c mult.c div.c main.c gcc sub.c add.c mult.c div.c main.c -o app 检查更新 app:sub.o add.o mult.o div.o main.o gcc sub.o add 阅读全文
posted @ 2025-09-07 19:27 Xiaomostream 阅读(35) 评论(0) 推荐(0)