TCP并发服务器

在之前我们写过单循环服务器:同一时刻只能处理一个客户端任务

并发服务器则是在同一时刻,能够处理多个客户端的任务

一、实现方法

1、多进程

安全性好。

2、多线程

并发量更高、高效。

3、IO多路复用

二、IO模型

1、阻塞IO

阻塞函数:fgets、scanf、read、recv、getchar等。

特点:

(1)实现多个IO同步的效果;(有先后顺序)

(2)CPU占有率低。

2、非阻塞IO

特点:

(1)使用轮询的方式实现,可监测多路复用。

(2)CPU占有率高。

实现:

(1)获得原文件描述符的属性;

(2)增加非阻塞属性;fcntl

int fcntl(int fd , int cmd , ...)

参数:cmd为F_GETFL(获得) 、F_SETFL(设置) 、F_SETOWN(关联)等。

(3)设置新属性。

例如;非阻塞的读管道。

3、信号驱动IO

特点:

(1)实现异步IO操作,节省CPU开销。

(2)只能监测少量IO。

实现:

(1)增加异步属性;

(2)关联当前进程;

(3)注册信号处理函数。

例如:信号驱动的读管道。

相关推荐
好记忆不如烂笔头abc7 小时前
Ubuntu 20.04.6上实现远程桌面连接
服务器·网络·数据库
发光小北7 小时前
SG-LORA_2024 系列(多信号转 LORA 无线中继器)特点与功能介绍
网络协议
zhuzewennamoamtf8 小时前
Linux Regmap API寄存器映射抽象化
linux·运维·服务器
lifewange8 小时前
关于进程的 Linux 命令有哪些?
linux·运维·服务器
heartbeat..8 小时前
网络通信核心知识全解析:模型、协议与 TCP 机制
java·网络·网络协议·tcp/ip
M158227690558 小时前
串口设备联网利器!SG-TCP232-110 单通道串口服务器,让老旧设备秒变智能终端
运维·服务器·单片机
semantist@语校8 小时前
第五十八篇|从城市节律到制度密度:近畿日本语学院的数据建模与关西语校结构工程
大数据·服务器·数据库·人工智能·百度·ai·知识图谱
一只小鱼儿吖9 小时前
从代理ip的底层逻辑探讨下如何选择代理ip商。
网络·python·网络协议·tcp/ip
野熊佩骑10 小时前
一文读懂运维监控之 Ubuntu22.04安装部署Zabbix监控
linux·运维·服务器·网络·ubuntu·zabbix·database
未来之窗软件服务10 小时前
JAVASCRIPT 离线解析IP地址 幽冥大陆(七十) —东方仙盟练气期
开发语言·javascript·tcp/ip·仙盟创梦ide·东方仙盟