# Linux网络编程 **Repository Path**: liuhaodon/linux-network-programming ## Basic Information - **Project Name**: Linux网络编程 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2024-11-26 - **Last Updated**: 2025-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: Cpp, makefile ## README # Linux网络编程 ## 介绍 这是一个用于学习Linux网络编程的项目,包含了多种网络编程模型的实现,包括HTTP服务器、TCP/UDP套接字编程、I/O多路复用(Select、Poll、Epoll)、反应堆(Reactor)模式以及线程池等高级主题。 ## 软件架构 本项目按照不同的功能模块组织代码,主要目录和其内容如下: - `HTTP_Code/http`: HTTP服务器实现。 - `IO`: 包括Select、Poll、Epoll服务器等I/O多路复用实现。 - `Reactor`: Reactor模式的实现,用于处理并发网络请求。 - `Tcp_Socket`: TCP协议相关的回声服务器、计算服务器及命令服务器等。 - `Udp_Socket`: UDP协议实现的回声服务器、字典服务器和多人在线聊天系统。 - `ThreadPool_once`: 线程池相关实现。 ## 安装教程 1. 克隆仓库到本地: ```bash git clone https://gitee.com/liuhaodon/linux-network-programming.git ``` 2. 进入项目目录: ```bash cd linux-network-programming ``` 3. 根据具体模块进入对应的文件夹并使用Makefile编译: ```bash cd [模块目录] make ``` ## 使用说明 每个模块都有其特定的功能和运行方式,请参考各个模块内的`README.md`或源码中的注释进行使用。通常,编译后会生成可执行文件,可以直接运行。 例如运行一个TCP服务器和客户端: ```bash # 打开一个终端窗口运行服务器 ./tcp_server_Main # 打开另一个终端窗口运行客户端 ./tcp_client_Main ``` ## 参与贡献 欢迎对本项目做出贡献。如果您有兴趣改进或添加新特性,请遵循以下步骤: 1. Fork仓库。 2. 创建新的分支。 3. 实现新功能或修复bug。 4. 提交PR并描述所做的更改。 ## 特技 本项目展示了多种网络编程技巧,包括但不限于: - 非阻塞I/O操作。 - 多线程和线程池管理。 - 网络协议的设计与实现。 - 高性能服务器架构设计(如Reactor模式)。