# socket-chat **Repository Path**: zxy747/socket-chat ## Basic Information - **Project Name**: socket-chat - **Description**: 简易聊天室,实现基础文字、文件传输 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-20 - **Last Updated**: 2025-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Socket-Chat Socket-Chat 是一个使用Go和WebSocket技术构建的实时聊天应用程序。它支持多房间、密码保护和消息历史记录等功能,提供简洁美观的Web界面,让用户能够轻松地进行实时在线交流。 ## 功能特性 - 通过WebSocket连接实现实时消息传递 - 支持多个聊天室,可选择设置密码保护 - 消息历史记录保存 - 简洁响应式的Web界面 - 连接状态指示器 - 完善的错误处理和用户反馈 - 通过HTML转义增强安全性 ## 开始使用 ### 环境要求 - Go 1.16或更高版本 - Gorilla WebSocket包 ### 安装步骤 1. 克隆仓库: ``` git clone ``` 2. 进入项目目录: ``` cd socket-chat ``` 3. 安装依赖: ``` go mod tidy ``` ### 配置 Socket-Chat使用一个名为`config.json`的配置文件来存储项目配置。默认配置如下: ```json { "projectName": "Socket-Chat", "port": "8080" } ``` 您可以根据需要修改这些值。例如,要更改端口号,只需将`port`字段的值更改为所需的端口号。 ### 运行应用 1. 启动服务器: ``` go run server.go ``` 2. 打开浏览器并访问 `http://localhost:8080` 3. 输入用户名、聊天室名称和密码(如果需要) 4. 开始聊天! ## 使用说明 1. **创建房间**: 输入新的房间名称,如果需要可以设置密码。您将成为该房间的第一个成员。 2. **加入房间**: 输入现有的房间名称,如果设置了密码则需要提供正确的密码。 3. **开始聊天**: 在输入框中输入消息,按回车键或点击发送按钮。 ## WebSocket端点 Socket-Chat现在使用相对路径来建立WebSocket连接,会自动适应配置的项目名称。连接URL格式为: `ws://://ws` 例如,如果项目名称配置为"Socket-Chat",端口为8080,则连接URL为: `ws://localhost:8080/Socket-Chat/ws` 这种设计使得项目名称可以轻松配置,而无需修改客户端代码。 ## 代码结构 - `server.go`: 实现WebSocket服务器和聊天室逻辑 - `client.html`: 提供聊天应用的Web界面 ## 优化特性 此版本相比基础实现包含多项改进: 1. **增强的错误处理**: 客户端和服务器端全面的错误处理 2. **更好的用户反馈**: 连接状态和消息发送的可视化指示器 3. **改进的安全性**: 正确的HTML转义以防止XSS攻击 4. **更清晰的代码**: 添加了注释和更好的代码组织 5. **用户体验**: 更好的界面设计和响应式反馈 ## 贡献 欢迎贡献!请随时提交Pull Request。 ## 许可证 该项目采用MIT许可证。