![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++服务器开发
文章平均质量分 81
服务器开发所具备的基础知识
拾荒叶
总有人间一两风,填我十万八千梦
展开
-
redis,memcached,nginx网络组件
1 梳理reactor网络编程2 编程细节 (返回值以及错误码)连接的建立分为两种:服务端处理接收客户端的连接,服务端作为客户端连接第三方服务;int clientfd = accept(listenfd, addr, sz);int connectfd = socket(AF_INET, SOCK_STREAM, 0);int ret = connect(connectfd, (struct sockaddr *)&addr, sizeof(addr));errno = E原创 2022-02-15 21:55:08 · 1669 阅读 · 0 评论 -
websocket协议与服务器实现
1 什么是websocketWebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输原理很多网站为了实现推送技术,所用的技术..原创 2022-02-14 09:43:27 · 1922 阅读 · 0 评论 -
网络IO的基础知识
本期笔记大纲1 TCP 的服务器和客户端的函数调用2 UDP如何实现服务器的并发3 socket 的解释4 sigio的具体实现5 select poll 和epoll的具体原理目录1 TCP 的服务器和客户端的函数调用TCP服务器的函数调用TCP客户端的函数调用2UDP如何实现服务器并发3 socket的解释4 sigio的具体实现 1 进程的信号集合是如何保存的 2 当我们调用signal这个函数的时候如何将对应的信号保存...原创 2022-02-02 18:22:51 · 2525 阅读 · 0 评论 -
服务器百万并发连接的实现
服务器的并发量并发量:一个服务器能够承载客户端的数量,并且能够稳定的维护客户端。承载:客户端发一个请求,服务端能够在200ms内能够返回结果1 数据库2 网络带宽3 内存操作4日志都是承载需要考虑的因素。服务器能够同时建立的连接数量 就是服务器的并发量这种书法是错误的。连接数量只是服务器并发量的一个基础或者说是前提。测试:测试环境:ubuntu16.04sockfd->fd(五元组)fd 是文件描述符和(sip dip spport dp.原创 2021-11-11 17:43:18 · 1821 阅读 · 0 评论 -
红黑树的实现
我将从下面几个 方分析红黑树1 红黑树的应用场景2红黑树的数学证明与推导3 手撕红黑树的左旋与右旋4红黑树添加的实现与添加三种情况5 红黑树删除的实现与删除四种情况6 红黑树的线程安全的做法7 分析红黑树工程实用的特点1 红黑树的应用场景红黑树主要有两种应用方向 1 红黑树的中序遍历是有序的。 2 红黑树存储的数据是key-value1 Linux进程调度CFS 利用红黑树的中序遍历有序2 Nignx Timer事件管理 利用红黑树的...原创 2021-10-18 15:06:36 · 299 阅读 · 0 评论 -
用户态协议栈之epoll实现
Epoll 是 Linux IO 多路复用的管理机制。作为现在 Linux 平台高性能网络 IO 必要的组件。内 核的实现可以参照:fs/eventpoll.c .在实现 epoll 之前,先得好好理解内核 epoll 的运行原理。内核的 epoll 可以从四方面来理解。 1. Epoll 的数据结构,rbtree 对<fd, event>的存储,ready 队列存储就绪 io。 2. Epoll 的线程安全,SMP 的运行,以及防止死锁。 3. Epoll 内核回调。原创 2021-10-14 11:22:12 · 229 阅读 · 0 评论 -
redis 相关命令详解及其原理
Redis 是Remote Dictionary Service 的简称;也是远程字典服务;redis是内存数据库,kv数据库(key value) 数据结构数据库;redis应用广泛,github 腾讯 阿里巴巴 京东 华为 新浪微博都有用到Redis命令查看:http://redis.cn/commands.html;应用:记录朋友圈说说列表(排序),便于快速显示朋友圈(zset) 记录文章的标题、摘要、作者和封面,用于列表页展示(hash) 记录朋友圈的点赞用原创 2021-08-18 19:50:16 · 223 阅读 · 0 评论 -
排序 KMP算法 队列 和 栈
学习编程数据结构是核心的知识,下面我和大家分享一些数据结构的知识栈的应用源码#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>#define ALLOC_SIZE 512typedef int KEY_TYPE;typedef struct _stack { KEY_TYPE *base; int top; int st原创 2021-08-11 22:43:05 · 175 阅读 · 0 评论