Skip to content

CppMore

Dive deep into the C++ core, and discover more!

  • Home
  • Articles
  • TGS
  • RSS
  • Guestbook
  • About

January 2019Monthly Archives

网络模型之重叠IO(一)

前面已经说过 select 和 Event selct 模型,这两个还是比较小型的,今天来说重叠 IO,这个可以支持上千个用户,当然理解起来也越来越难了点。 重叠 IO 模型是典型的非阻塞模型,接收数… Continue Reading 网络模型之重叠IO(一)

  • Posted on: January 30, 2019 December 21, 2023
  • Author: Li Miu
  • Categories: Networking
  • 3
  • Views 526

网络模型之Event select

开始之前,再来看看流程图。 程序阻塞的主要有两部分,一个是等待数据到来,一个是将数据从内核复制到程序缓冲区。 事件选择模型,其实是在 select 模型的基础上更进一步地做了优化,这次优化把等待数据到… Continue Reading 网络模型之Event select

  • Posted on: January 19, 2019 December 22, 2023
  • Author: Li Miu
  • Categories: Networking
  • 3
  • Views 341

网络模型之select

之前我们写了一些简单的网络程序,使用的都是基本的socket,这些程序有一个特点就是都是阻塞执行的。何谓阻塞呢?就是函数不会立即返回,直到等到结果才返回,像 accept,recv 就属于阻塞函数。 … Continue Reading 网络模型之select

  • Posted on: January 11, 2019 December 22, 2023
  • Author: Li Miu
  • Categories: Networking
  • 2
  • Views 384

Notice

所有文章,俱为原创;未经允许,请勿转载。
网站新建,内容待迁,功能不全,尚在维护。

Free Books

C++ Generative Metaprogramming
The Book of Modern C++

Recent Posts

  • “……” 这种 C++ 语法已被标准弃用
  • std::monostate ≠ “空”类型
  • C++26 Finally Makes std::projected ADL-Proof
  • 另一种阻止 ADL 的巧妙手法
  • C++26 function_ref and nontype_t
  • C++ Adventures: Types
  • Clean Conversion from Run-time Values to Compile-time Constants in C++
  • 《产生式元编程》第七章 巧活用折叠表达式

Recent Comments

  1. 里缪 on T240725 Unnamed namespaces
  2. FrankHB on T240725 Unnamed namespaces
  3. 使用C++17简化代码 - tlanyan on Simplify Code with “if constexpr” in C++17
  4. 自动防御 on Compile time dispatching in C++20
  5. 里缪 on 《产生式元编程》第一章 宏编程计数引原理

Archives

  • May 2025 (2)
  • April 2025 (3)
  • March 2025 (1)
  • October 2024 (1)
  • August 2024 (1)
  • July 2024 (3)
  • June 2024 (3)
  • May 2024 (3)
  • April 2024 (2)
  • March 2024 (2)
  • February 2024 (3)
  • January 2024 (3)
  • December 2023 (4)
  • November 2023 (5)
  • October 2023 (1)
  • September 2023 (5)
  • August 2023 (3)
  • July 2023 (5)
  • June 2023 (3)
  • May 2023 (1)
  • April 2023 (4)
  • March 2023 (1)
  • January 2023 (1)
  • November 2022 (1)
  • September 2022 (2)
  • July 2022 (2)
  • May 2022 (1)
  • February 2022 (2)
  • January 2022 (2)
  • August 2021 (1)
  • May 2021 (1)
  • July 2020 (1)
  • May 2020 (1)
  • April 2020 (2)
  • March 2020 (1)
  • January 2020 (1)
  • April 2019 (1)
  • March 2019 (5)
  • February 2019 (1)
  • January 2019 (3)
  • December 2018 (1)

Categories

  • Basics (8)
  • C++11 (1)
  • C++14 (1)
  • C++17 (2)
  • C++20 (7)
  • C++23 (2)
  • C++26 (6)
  • Concurrency (2)
  • Metaprogramming (16)
  • Networking (10)
  • Performance (2)
  • Techniques (4)
  • TodayGroupShared (23)
  • Tools (1)
  • Tricks (2)
  • 生活琐记 (2)

ADL Attributes C++11 C++14 C++20 C++23 C++26 CMake Comma operator Constant expressions consteval constexpr constinit Coroutine deprecated Expansion statements explicit(bool) Fold expressions Generative metaprogramming Idioms Initialization inline lambda Macros maybe_unused Monads namespace nodiscard noreturn no_unique_address NTTP Overload Resolution Pattern matching Polymorphism Recursive composition Recursive inheritance static std::exchange std::tuple tag-dispatching Tricks typename Value categories Variadic templates Vexing parses problem

Visitors

  • 130
  • 203
  • 2,622
  • 13,507
  • 70,170
  • 148,273
  • 43,385
  • 89

©2017 - 2025  CppMore.  All rights reserved.