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)注册信号处理函数。

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

相关推荐
Kaede613 分钟前
如何快速排查服务器宕机原因
运维·服务器
深圳市恒讯科技17 分钟前
如何选服务器硬件:CPU、内存与 NVMe 的性能与成本权衡
运维·服务器
jthou@hotmail.com19 分钟前
远程服务器 Docker 环境配置指南
运维·服务器·docker
majingming12336 分钟前
野火鲁班猫修改IP
linux·运维·服务器
xu_yule37 分钟前
网络和Linux网络-8(传输层)TCP协议(流量控制+滑动窗口+拥塞控制+紧急指针+listen第二个参数)
linux·网络·tcp/ip
1***438043 分钟前
SQL2000在win10上安装的方法
运维·服务器
我是zxb1 小时前
LangChain 入门系列②:核心组件之 Model IO 快速入门指南
服务器·microsoft·langchain
北京耐用通信1 小时前
工业通信升级利器:耐达讯自动化Ethernet/IP转CC-Link网关让IO模块兼容无忧!
网络·人工智能·科技·物联网·网络协议·自动化·信息与通信
刘孬孬沉迷学习1 小时前
SCTP、GTP-U 和 WebSocket 协议比较
网络·websocket·网络协议
zt1985q1 小时前
本地部署开源运维工具 MyIP 并实现外部访问
运维·服务器·网络协议·开源