# HarryWeb2 **Repository Path**: harryxiaocn/harry-web2 ## Basic Information - **Project Name**: HarryWeb2 - **Description**: vb.net实现的简易web服务器后端。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-19 - **Last Updated**: 2026-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HarryWeb2 - VB.NET 轻量级 Web 服务器模块 HarryWeb2 是一个基于 VB.NET 开发的轻量级、高性能 Web 服务器模块。它提供了简洁的 API 用于构建自定义 Web 服务,并附带了一个功能完整的局域网文件共享服务器示例。 ## 项目特点 - **轻量易用**:纯 VB.NET 编写,无需依赖大型框架,直接集成到你的 WinForms 或控制台应用中。 - **异步处理**:基于 `SocketAsyncEventArgs` 实现的高性能异步网络通信。 - **内置路由**:支持灵活的路由配置,轻松处理不同的 URL 请求。 - **多表单解析**:内置 `multipart/form-data` 解析引擎,支持大文件上传处理。 - **JSON 支持**:配套 `HarryNode` 类,提供强大的 JSON 解析与生成功能。 - **文件共享示例**:自带一个局域网文件共享服务器,支持文件列表查看、点击下载及带进度条的 AJAX 上传。 ## 核心模块 - **`HarryWeb.vb`**: 服务器核心逻辑,包含 `HarryWebServer`、`HarryRequest` 和 `HarryResponse`。 - **`HarryNode.vb`**: 数据结构助手,用于 JSON 解析、路径访问和树形结构管理。 ## 快速上手 ### 1. 启动服务器并添加路由 ```vb Dim Server As New HarryWebServer() ' 添加路由处理 Server.AddRoute("/", AddressOf IndexHandle) Server.AddRoute("/api/test", AddressOf ApiHandle) ' 启动监听(默认 80 端口) Server.StartListen(80) ``` ### 2. 编写处理函数 ```vb Private Sub ApiHandle(client As HarrySocket, request As HarryRequest) Dim response As New HarryResponse() response.Body = Encoding.UTF8.GetBytes("{""message"": ""Hello from HarryWeb!""}") response.ContentType = "application/json" client.SendResponse(response) End Sub ``` ## 局域网文件共享功能 本项目在 `Form1.vb` 中展示了如何使用 `HarryWeb` 快速搭建一个局域网文件共享平台: - **文件列表**:自动扫描 `uploads` 目录并生成 HTML 表格。 - **文件下载**:支持各种格式文件的流式下载。 - **文件上传**: - 前端使用原生 JavaScript + XMLHttpRequest 实现带进度的上传。 - 后端通过 `HarryRequest.Files` 集合接收上传的文件并保存。 ## 安装与运行 1. 使用 Visual Studio 2019 或更高版本打开 `HarryWeb2.sln`。 2. 编译并运行项目。 3. 在浏览器中访问 `http://localhost` 或你的局域网 IP。 ## 开源协议 本项目采用 [MIT](LICENSE) 协议开源。