最新 最热

高性能网络设计秘笈:深入剖析Linux网络IO与epoll

epoll是Linux操作系统中的一种可扩展的I/O事件通知机制,用于处理大量并发连接的网络编程场景。它在高性能网络服务器的开发中非常有用,因为它可以有效地管理大量的文件描述符,监视并等待这些文件描述符上的事件,并在事件...

2024-08-11
3

提升性能的必备技术:Linux网络IO与select详解

IO 即“Input”和“Output”的组合,即输入/输出,IO用来处理设备之间的数据传输。socket/fd也是一种IO。

2024-08-10
3

Netty - 五种 I/O 多路复用机制 select、poll、epoll、kqueue、iocp(windows) 对比

这里我将对比一下常见的多路复用技术:select、poll、epoll、kqueue 和 IOCP(Windows)。

2024-05-26
3

C++ socket epoll IO多路复用

IO多路复用通常用于处理单进程高并发,在Linux中,一切皆文件,一个socket连接会对应一个文件描述符,在监听多个文件描述符的状态应用中epoll相对于select和poll效率更高...

2024-05-26
4

一文读懂 Linux epoll 实现原理

如下的代码中,先用 epoll_create 创建一个 epoll 文件描述符 epfd,再通过 epoll_ctl 将需要监听的 socket 添加到 epfd 中,最后调用 epoll_wait 等待数据。

2024-05-24
3

Reactor 模型

reactor 是一种管理网络 I/O 的模型,我们知道,内核对于网络 I/O 的管理方式是用的 select/poll epoll ,那么应用程序之间可能也需要一种管理 I/O 的方式,reactor 模型就此诞生。...

2024-05-20
4

I/O 多路复用, select, poll, epoll

I/O 是应用程序必然逃不掉的一个话题。大家在计算机基础学习中,学过计组,操作系统和计网,而想要把 I/O 研究深入肯定要将对这三个计算机基础方面有所深入。...

2024-05-16
4

简单的 c 语言实现 http 请求

首先 http 协议一般需要 dns 协议的配合向服务端发送请求,因此首先需要解析 IP 地址。c 语言中其实有专门的解析函数。

2024-04-28
4

socket网络编程(四)——epoll多路复用问题

问大家一个问题,如果要设计一款有着千万级别并发的系统,你的客户端和服务端的网络通信底层该怎么设计?我在上一篇文章(socket网络编程(三)——select多路复用问题)中有说到用select可以实现IO多路复用,但是select的设计有瓶颈...

2024-01-10
4

高性能网络编程 - select、 poll 、epoll 、libevent

总之,这些是用于编程的工具和库,用于高效地处理多个 I/O 操作,特别是在网络通信的背景下。Select 和 poll 是较旧、性能较低的选项,而 epoll 是一种高性能的替代方案。Libevent 是一个库,简化了使用这些机制的工作,同时提供...

2023-11-09
3