
Linux网络编程
吕白_
希望自己技术越来越强
展开
-
epoll反应堆及ET模式下的EPOLLOUT学习总结
学习epoll反应堆发现网上的epoll反应堆都是同一份代码框架… 自己理解、梳理一遍,思路在注释里#include <stdlib.h>#include <stdio.h> #include <stdio.h>#include &lt原创 2018-06-02 21:03:51 · 4232 阅读 · 0 评论 -
总结定时器、时间轮
先占坑,总结到目前为止的所学和观点,留待日后学到新的知识或者有新的认知了再回来更新(先吐槽,网上搜定时器和时间轮,那些博客的代码居然基本上都是Linux高性能上的,虽然我也是…感叹一下看来这本书很厉害,是不是目前讲这方面的书很少,只有它啊…)定时器 定时器就是一个数据结构,他最主要的成员是回调函数和超时时间,等到超时时间到期,自动执行这个函数。定时器的实现 单线程实现 单...原创 2018-05-24 22:38:52 · 1016 阅读 · 0 评论 -
使用 Linux下 timerfd 系列 API 创建定时器并使用 epoll 监听
特点Linux 内核于内核2.6.25提供了一种创建定时器的 API, 那就是 Linux 特有的 timerfd API, 并且该定时器可以从文件描述符中读取其创建的定时器到期通知. 这也意味着, 可以将文件描述符通过多路复用监听并读取, 而其他的定时器想要将一个 (或多个) 定时器与一组文件描述符放在一起同时监听可不是一件容易的事. 函数接口timerfd 系列 API 有三...原创 2018-08-10 22:26:11 · 6926 阅读 · 5 评论 -
TCP 三次握手过程以及 Linux 下 Socket 函数的处理细节
三次握手过程中 TCP 的状态变化三次握手的过程和本质三种状态socket 函数listen 函数connect 函数accept 函数 总结一下近日所学的关于 TCP 建立连接 三次握手 的过程中, TCP 的 状态变化, 以及在这个过程中所用的 socket 函数, 对于各种情况会如何处理 涉及到 connect listen...原创 2018-09-04 14:58:46 · 1597 阅读 · 0 评论 -
[ TCP 学习总结] 一个 TCP 连接的建立与终止
文章目录前言TCP 连接的建立三次握手为什么是三次握手前言TCP/IP 的学习使我们避不开的一直以来记得笔记什么的也都是在云笔记上,或者在书上, 比较杂乱, 现在写一个系列博客也算是一个归纳总结把以后复习也方便TCP 连接的建立我们知道一个 TCP 连接是由一个四元组构成的, 分别是 dest IP dest port source IP source port更准确地说, ...原创 2018-11-22 20:26:27 · 662 阅读 · 0 评论 -
处理使用 epoll ET 模式下文件描述符出现饥饿的情况
考虑如下情况:使用epoll ET模式时, epoll_wait返回就绪文件描述符集合, 然后我们循环处理, 但这时如果有一个文件描述符上有大量输入(不间断的输入流), 因为我们ET模式需要一直读到返回EAGIN / EWOULDBLOCK, 那我们就会一直在处理这个文件描述符, 而导致其他文件描述符得不到处理,这就是采用边缘触发时有可能出现的文件描述符饥饿情况处理参考Linux/Unix...原创 2019-04-05 10:33:30 · 1264 阅读 · 4 评论 -
Linux下安装protobuf以及在C++中使用
文章目录前言安装并配置环境变量简单使用前言本文只介绍如何安装protobuf, 如何编译使用了protobuf的 C++ 代码至于详细的protobuf对应产生的 C++ 的 API, 下一篇博客再讨论安装并配置环境变量安装辅助工具sudo apt-get install autoconf automake libtool curl make g++ unzip获取源代码,...原创 2019-05-02 23:55:47 · 6238 阅读 · 3 评论