news 2026/4/3 1:38:17

Linux多进程服务器编程详解:从零实现TCP并发服务器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux多进程服务器编程详解:从零实现TCP并发服务器

一、引言

在网络编程中,服务器需要同时处理多个客户端的连接请求。多进程服务器是实现并发处理的经典方案之一。本文将详细介绍如何使用Linux系统调用实现一个完整的多进程TCP服务器,包括套接字创建、绑定、监听、接收连接以及进程管理等核心技术。

二、多进程服务器架构原理

2.1 基本架构

多进程服务器采用"父进程监听+子进程通信"的模式:

  • 父进程:负责创建监听套接字,持续接收新的客户端连接
  • 子进程:每个子进程独立处理一个客户端的通信请求

这种架构的优势在于各客户端之间互不干扰,某个客户端的异常不会影响其他客户端的服务。

三、完整代码实现

3.1 服务器端完整代码

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>#include<sys/wait.h>#definePORT9999#defineBUFFER_SIZE1024#defineMAX_LISTEN128// 子进程通信函数voidworking(intcfd){charbuf[BUFFER_SIZE];while(1){// 清空缓冲区memset(buf,0,sizeof(buf));// 接收客户端数据(阻塞函数)intlen=read(cfd,buf,sizeof(buf));if(len==0){// 客户端断开连接printf("客户端断开了连接...\n");break;}elseif(len==-1){// 读取错误perror("read error");break;}else{// 正常接收数据printf("客户端say: %s\n",buf);// 回复客户端(原样返回)write(cfd,buf,len);}}// 关闭通信文件描述符close(cfd);printf("子进程通信结束,关闭连接\n");}intmain(){// 1. 创建监听套接字intlfd=socket(AF_INET,SOCK_STREAM,0);if(lfd==-1){perror("socket error");exit(1);}printf("监听套接字创建成功,fd = %d\n",lfd);// 2. 绑定地址和端口structsockaddr_inaddr;addr.sin_family=AF_INET;// IPv4协议addr.sin_port=htons(PORT);// 端口号转网络字节序addr.sin_addr.s_addr=INADDR_ANY;// 绑定所有可用IP (0.0.0.0)intret=bind(lfd,(structsockaddr*</
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 6:18:02

从0开始学SGLang,轻松实现JSON格式化输出

从0开始学SGLang&#xff0c;轻松实现JSON格式化输出 SGLang不是另一个大模型&#xff0c;而是一把为LLM应用量身打造的“智能扳手”——它不生成内容&#xff0c;却让生成变得更精准、更可控、更高效。尤其当你需要模型稳定输出结构化数据&#xff08;比如API返回的JSON&…

作者头像 李华
网站建设 2026/4/3 0:11:17

手把手教学:如何用cv_unet_image-matting做证件照去背景

手把手教学&#xff1a;如何用cv_unet_image-matting做证件照去背景 1. 为什么证件照抠图特别需要这个工具 你有没有遇到过这样的情况&#xff1a;临时要交一张标准证件照&#xff0c;手边只有手机拍的半身照&#xff0c;背景是杂乱的窗帘、模糊的墙壁&#xff0c;甚至还有路…

作者头像 李华
网站建设 2026/4/1 8:13:04

如何用YOLOE镜像实现无人零售货架分析?答案在这

如何用YOLOE镜像实现无人零售货架分析&#xff1f;答案在这 在无人零售场景中&#xff0c;最常被低估的挑战不是摄像头部署或网络带宽&#xff0c;而是货架上商品识别的“最后一公里”——当顾客拿起一包薯片又放回原位&#xff0c;系统能否准确判断它是否被带走&#xff1f;当…

作者头像 李华
网站建设 2026/3/15 2:49:55

儿童心理适配研究:Qwen生成温暖风格动物图的企业应用落地

儿童心理适配研究&#xff1a;Qwen生成温暖风格动物图的企业应用落地 1. 这不是普通AI画图&#xff0c;是专为孩子设计的“视觉温柔力” 你有没有注意过&#xff0c;孩子盯着一张图能看很久&#xff1f;不是因为画面多复杂&#xff0c;而是因为那张图里有他们能“接住”的情绪…

作者头像 李华
网站建设 2026/4/1 15:33:39

如何优化Live Avatar生成质量?这些参数设置很关键

如何优化Live Avatar生成质量&#xff1f;这些参数设置很关键 Live Avatar是阿里联合高校开源的数字人模型&#xff0c;主打高保真、低延迟的实时数字人视频生成能力。它能将一张静态人像、一段音频和一段文本提示词&#xff0c;合成出自然流畅、口型同步、表情丰富的数字人视…

作者头像 李华
网站建设 2026/3/29 2:06:56

DeepSeek-R1-Distill-Qwen-1.5B部署卡顿?显存优化实战解决方案

DeepSeek-R1-Distill-Qwen-1.5B部署卡顿&#xff1f;显存优化实战解决方案 你是不是也遇到过这样的情况&#xff1a;刚把 DeepSeek-R1-Distill-Qwen-1.5B 拉起来&#xff0c;一输入问题&#xff0c;网页就转圈、响应慢、甚至直接报 CUDA out of memory&#xff1f;明明是 1.5B…

作者头像 李华