# 双端支持 跨平台 云盘 **Repository Path**: yy_xzz/MyFileSendHelper4WinAdLinux ## Basic Information - **Project Name**: 双端支持 跨平台 云盘 - **Description**: 自用版 云盘 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 双端支持 跨平台 云盘 一个基于 C++ 的跨平台文件传输工具,支持在 Windows 和 Linux 系统之间进行文件列表查看、上传和下载操作。 ## 功能特点 - 跨平台支持:同时兼容 Windows 和 Linux 系统 - 基本文件操作:查看服务器文件列表、上传本地文件、下载服务器文件 - 进度显示:文件传输过程中显示进度百分比 - 错误处理:包含完整的错误检测和提示机制 ## 安装指南 ### 前置要求 - Windows: - MinGW 或 MSVC 编译器 - 支持 C++11 及以上标准 - Linux: - g++ 编译器 - 支持 C++11 及以上标准 - pthread 库(通常系统已预装) ### 编译步骤 1. 克隆或下载项目源代码,确保以下文件在同一目录: - `cross_platform.h`(跨平台工具类) - `server_cross.cpp`(服务器代码) - `client_cross.cpp`(客户端代码) 2. 编译服务器: - Windows (MinGW): ```bash g++ server_cross.cpp -o server.exe -lpthread ``` - Linux: ```bash g++ server_cross.cpp -o server -lpthread ``` 3. 编译客户端: - Windows (MinGW): ```bash g++ client_cross.cpp -o client.exe -lpthread ``` - Linux: ```bash g++ client_cross.cpp -o client -lpthread ``` ## 使用方法 ### 启动服务器 1. 在服务器端运行编译好的服务器程序: - Windows: ```bash server.exe ``` - Linux: ```bash ./server ``` 2. 服务器启动成功后,会显示如下信息: ``` Server started. Port: 12345, Storage dir: server_files ``` 服务器默认使用端口 12345,并将接收的文件存储在当前目录的 `server_files` 文件夹中。 ### 启动客户端 1. 在客户端机器上运行编译好的客户端程序,指定服务器的 IP 地址和端口: - Windows: ```bash client.exe [服务器IP地址] 12345 ``` - Linux: ```bash ./client [服务器IP地址] 12345 ``` 例如,连接本地服务器: ```bash ./client 127.0.0.1 12345 ``` 2. 客户端连接成功后,会显示如下信息: ``` Connecting to 127.0.0.1:12345... Connected. ``` ### 客户端操作菜单 连接成功后,客户端会显示操作菜单: ``` ===== File Client ===== 1. List files on server 2. Upload file to server 3. Download file from server 4. Exit Select: ``` #### 1. 查看服务器文件列表 - 输入 `1` 并回车 - 系统会显示服务器上存储的所有文件 #### 2. 上传文件到服务器 - 输入 `2` 并回车 - 按照提示输入要上传的本地文件路径(例如:`C:\documents\file.txt` 或 `/home/user/file.txt`) - 系统会显示上传进度,完成后会显示服务器的确认信息 #### 3. 从服务器下载文件 - 输入 `3` 并回车 - 系统会先显示服务器上的文件列表 - 输入要下载的文件编号并回车 - 系统会显示下载进度,完成后文件会保存到客户端当前目录 #### 4. 退出程序 - 输入 `4` 并回车,客户端会断开连接并退出 ## 注意事项 - 确保服务器和客户端之间的网络通畅,防火墙允许端口 12345 的 TCP 连接 - 服务器会自动创建 `server_files` 目录用于存储接收的文件 - 大文件传输过程中,请勿中断程序或网络连接 - 文件名长度限制为 4096 字符,单个文件大小理论上无限制 - 客户端和服务器可以运行在不同操作系统上(例如 Windows 客户端连接 Linux 服务器) ## 故障排除 - 连接失败:检查服务器 IP 地址和端口是否正确,确保服务器已启动,网络是否通畅 - 上传失败:检查本地文件是否存在且可读取,文件路径是否正确 - 下载失败:检查所选文件编号是否有效,确保有本地写入权限 - 传输中断:重新尝试传输,检查网络稳定性