文章 2024-10-14 来自:开发者社区

Linux C/C++之IO多路复用(select)

1. TCP的连接与断开 1.1 创建连接过程(三次握手) 客户端向服务器发送连接请求SYN 服务器接收到连接请求SYN后, 向客户端发送收到指令ACK和连接请求SYN 客户端收到服务器发送的ACK和SYN后向服务器发送收到指令ACK 1.2 断开连接过程(四次挥手) 客户端向服务器发送断开请求FIN 服务器接收到客户端发送的断开请求FIN后向客户端发送收...

Linux C/C++之IO多路复用(select)
文章 2024-06-19 来自:开发者社区

c++高级篇(二) ——Linux下IO多路复用之select模型

什么是IO多路复用 前言 我们在Linux上服务端一般是要同时连接多个客户端进行通信,但是为每一个客户端连接创建一个进/线程,会消耗很多资源,一个1核2GB的虚拟机,大概只能创建100多个线程,但是我们经常使用网络知道,这样是远远不能满足我们日常的使用需求的,所以为了解决这一问题,就需要我们去使用IO多路复用。 IO多路复用 IO多路复用指的是我们可以使用一个进/...

c++高级篇(二) ——Linux下IO多路复用之select模型
文章 2024-03-19 来自:开发者社区

【Linux C/C++ 延时(延迟)函数比较】介绍Linux系统中常用的延时函数sleep、usleep、nanosleep、select和std::sleep_for()的区别和使用场景

首先,需要了解各个睡眠函数的作用和使用场景。   sleep函数用于让进程休眠指定的秒数,适用于需要较长时间的休眠场景; usleep函数用于让进程休眠指定的微秒数,适用于需要较短时间的休眠场景,不精确; nanosleep函数用于让进程休眠指定的纳秒数,适用于需要纳秒级的休眠场景,不精确(因为这种级别会因为系统调度和其...

【Linux C/C++ 延时(延迟)函数比较】介绍Linux系统中常用的延时函数sleep、usleep、nanosleep、select和std::sleep_for()的区别和使用场景
文章 2024-01-17 来自:开发者社区

C++socket客户端select异步连接发送接收数据

这段时间公司项目一直用网口同底层设备交互,顾记录下,具体见代码:int RFID_STANDARDPROTOCOL_API __stdcall Socket_SendAndRecv(SOCKET Socket, unsigned char * SendBuf , unsigned cha...

文章 2023-10-24 来自:开发者社区

I/O多路复用【Linux/网络】(C++实现select、poll和epoll服务器)(下)

3.3 优缺点select 服务器可以在一个进程或线程中同时处理多个客户端的连接和数据请求,提高了服务器的并发性能。select 服务器有以下优缺点:优点:select 服务器可以使用单个进程或线程来处理多个客户端,节省了创建和切换多个进程或线程的开销。缺点:select 服务器每次调用 select 函数,都要重新设定(本质是拷贝)参数,而几个参数都是输入输出型参数,所以需要把文件描述符集合从....

I/O多路复用【Linux/网络】(C++实现select、poll和epoll服务器)(下)
文章 2023-10-24 来自:开发者社区

I/O多路复用【Linux/网络】(C++实现select、poll和epoll服务器)(上)

阅读前导:“I/O 多路复用”处于知识树中网络和操作系统的最后,因此本文默认读者有计算机网络和操作系统的基础。1. 引入:C10K 问题c10k 问题是指如何让一个服务器同时处理超过 10000 个客户端的连接,这是一个网络编程中的经典挑战。切入点是一个进程或线程一次只能维护一个链接,也就是一个进程或线程一次只能对一个文件操作。要解决服务端同时处理多个链接,自然而然地想到用多进程或多线程。并且在....

I/O多路复用【Linux/网络】(C++实现select、poll和epoll服务器)(上)
文章 2023-08-02 来自:开发者社区

Linux TCP作为服务器连接的单连接、Select、Poll和Epoll方式:C/C++实现高效的服务器通信

1. 单连接方式 单连接方式是最简单的方式,每个客户端连接都创建一个独立的线程或进程来处理数据传输。这种方式适用于连接数较少的情况,代码实现相对简单。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #inclu...

问答 2016-03-06 来自:开发者社区

c++ 异步通信 event select模型

怎么触发 FD_WRIEE 这个网络事件 我在网上搜了很多 都不是很明白 最好能提供触发的代码 望不啬指教

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注