diff --git a/README.md b/README.md
index a6928f87dd98df5b699bf6b3b3976f0d9817e5c8..4dca513e890234f961b524b5a0322a3315850860 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,160 @@
-# CSharp_NetworkProtocol_Research
+# C# 网络协议研究项目文档
-#### 介绍
-C#_网络协议研究(原github Net5-Web-APIs-Demo与Net5-Web-APIs-TestTools项目)
+## 项目介绍
-研究的协议包括TCP、UDP、Socket、Webservice、WCF、WebAPI、MQTT
+本项目原名为 `Net5-Web-APIs-Demo` 和 `Net5-Web-APIs-TestTools`,旨在研究和实现 C# 中的多种网络协议,包括:
+- TCP
+- UDP
+- Socket
+- WebService
+- WCF
+- WebAPI
+- MQTT
-#### 软件架构
-博文地址:C#-Socket_TCP、Socket_UDP、WebSocket、WebService、WCF、WebAPI、MQTT的基础
-视频演示:https://www.bilibili.com/video/BV1vM4y1B7jN/?vd_source=3f52ff89411950a529a4b03056f38f16
+该项目包含多个模块,分别用于实现和测试上述协议。项目文档和代码结构旨在帮助开发者理解如何在 C# 中使用这些协议进行通信和数据交互。
+
+## 博文与视频资源
+
+- **博文地址**:[C#-Socket_TCP、Socket_UDP、WebSocket、WebService、WCF、WebAPI、MQTT的基础](https://www.cnblogs.com/qq2806933146xiaobai/p/15378767.html)
+- **视频演示**:[Bilibili 视频链接](https://www.bilibili.com/video/BV1vM4y1B7jN/?vd_source=3f52ff89411950a529a4b03056f38f16)
+
+## 项目结构概览
+
+### 1. `Net5-Web-APIs-Demo` 模块
+
+该模块主要包含以下子项目:
+
+#### 1.1 ASP.NET Core Web API 示例
+
+- **功能**:提供了一个基于 ASP.NET Core 的 Web API 示例,演示了基本的 HTTP 方法(GET、POST、PUT、DELETE)。
+- **控制器**:
+ - `ValuesTestController.cs`:演示了简单的 API 方法。
+ - `WeatherForecastController.cs`:演示了数据模型的序列化和反序列化。
+
+#### 1.2 WebSocket 服务器
+
+- **功能**:实现了一个 WebSocket 服务器,支持客户端连接和消息广播。
+- **控制器**:
+ - `SocketAPIController.cs`:处理 WebSocket 连接。
+- **辅助类**:
+ - `WebSocketsHelper.cs`:提供 WebSocket 的 Echo 和聊天室功能。
+
+#### 1.3 MQTT 服务器与客户端
+
+- **功能**:使用 `MQTTHelper.cs` 实现了 MQTT 服务器和客户端,支持发布/订阅模式。
+- **功能点**:
+ - 创建和启动 MQTT 服务器。
+ - 创建和连接 MQTT 客户端。
+ - 订阅和发布消息。
+ - 客户端连接、断开、消息接收等事件处理。
+
+#### 1.4 TCP/UDP 通信
+
+- **功能**:实现 TCP 和 UDP 通信的客户端和服务器端。
+- **类**:
+ - `TCPHelper.cs`:封装了 TCP 服务器和客户端的通信逻辑。
+ - `UDPHelper.cs`:封装了 UDP 通信逻辑。
+- **窗体**:
+ - `TCPWin.cs` 和 `UDPWin.cs`:提供图形界面用于测试 TCP 和 UDP 通信。
+
+#### 1.5 WebService 示例
+
+- **功能**:提供了一个简单的 WebService 示例,包含基本的 Web 方法(如 `HelloWorld`, `Add`, `Sub`)。
+- **文件**:
+ - `WebService1.asmx.cs`:定义 WebService 方法。
+ - `DataSetTB1.xsd`:定义数据集结构,用于 WebService 数据交互。
+
+#### 1.6 WinSocketServer
+
+- **功能**:实现了一个基于 WebSocket 的服务器,支持客户端连接、消息广播等功能。
+- **类**:
+ - `WinSocketServer1.cs`:主窗体,处理服务器启动、停止、消息广播等。
+ - `RequestMsg.cs`:定义请求消息格式。
+ - `RequestProcessing.cs`:处理客户端请求。
+
+### 2. `Net5-Web-APIs-TestTools` 模块
+
+该模块主要用于测试和调试上述协议的实现。
+
+#### 2.1 Socket、WebService、WCF、WebAPI 测试工具
+
+- **功能**:提供图形界面工具,用于测试 TCP、UDP、WebSocket、WebService、WCF 和 WebAPI 的通信。
+- **主要窗体**:
+ - `SocketAPITest.cs`:测试 WebSocket 通信。
+ - `WinSockerServer1Test.cs`:测试 TCP 通信。
+ - `WebserviceFrom.cs`:测试 WebService 调用。
+ - `WCFForm.cs`:测试 WCF 服务调用。
+ - `GetRequest.cs`, `PostRequest.cs`, `PutRequest.cs`, `DeleteRequest.cs`:测试 HTTP 请求。
+
+#### 2.2 MQTT 客户端测试工具
+
+- **功能**:提供 MQTT 客户端测试界面,支持连接、订阅、发布消息。
+- **类**:
+ - `MQTTHelper.cs`:封装 MQTT 客户端逻辑。
+ - `MqttNetClientWin.cs`:图形界面,用于测试 MQTT 客户端功能。
+
+#### 2.3 数据工具类
+
+- **功能**:提供通用的数据处理工具,如 `DataSet` 转换为 `IList`。
+- **类**:
+ - `DataTools.cs`:包含 `DataSetToIList` 方法。
+ - `JsonfileTools.cs`:提供 JSON 文件的读写功能。
+
+## 使用说明
+
+### 1. 运行 Web API 服务
+
+- 打开 `Net5-Web-APIs-Demo/ASP.NETCoreWebAPI` 项目。
+- 启动项目后,访问 `/api/values` 或 `/api/weatherforecast` 测试 API。
+
+### 2. 运行 WebSocket 服务器
+
+- 打开 `Net5-Web-APIs-Demo/WebAPIWebSockets` 项目。
+- 启动后,访问 `/wsTest` 进行 WebSocket 测试。
+
+### 3. 运行 MQTT 服务器和客户端
+
+- **服务器**:运行 `MqttnetServerWin` 项目,启动 MQTT 服务器。
+- **客户端**:运行 `MqttNetClient` 项目,连接服务器并进行订阅/发布测试。
+
+### 4. 运行 TCP/UDP 测试工具
+
+- **TCP 测试**:运行 `TCPWin` 窗体,测试 TCP 通信。
+- **UDP 测试**:运行 `UDPWin` 窗体,测试 UDP 通信。
+
+### 5. 运行 WebService/WCF 测试工具
+
+- 打开 `WebserviceWcfWebAPITestTool` 项目。
+- 使用 `WebserviceFrom.cs` 和 `WCFForm.cs` 测试 WebService 和 WCF 调用。
+
+### 6. 运行 HTTP 请求测试工具
+
+- 使用 `GetRequest.cs`, `PostRequest.cs`, `PutRequest.cs`, `DeleteRequest.cs` 测试 HTTP 请求。
+
+## 开发环境
+
+- **开发语言**:C#
+- **框架**:.NET 5
+- **IDE**:Visual Studio 2019 或更高版本
+- **依赖库**:
+ - `MQTTnet`:用于 MQTT 通信。
+ - `System.Net.WebSockets`:用于 WebSocket 通信。
+ - `System.ServiceModel`:用于 WCF 服务调用。
+
+## 贡献指南
+
+欢迎贡献代码或提出建议。请遵循以下步骤:
+
+1. Fork 本项目。
+2. 创建新分支。
+3. 提交更改。
+4. 创建 Pull Request。
+
+## 许可证
+
+本项目遵循 MIT 许可证。详见项目根目录下的 `LICENSE` 文件。
+
+## 联系方式
+
+如有问题或建议,请通过 Gitee 私信或评论区留言。
\ No newline at end of file