Skip to content

一个建立本地局域网P2P聊天的聊天软件,支持文件秒传

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.txt
Notifications You must be signed in to change notification settings

Yxpillow/LocalChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LocalChater - 局域网聊天软件

一个基于 Electron 的局域网聊天应用,支持手动添加 IP 好友、私聊和文件传输功能。

功能特性

  • 🌐 局域网通信: 在同一局域网内进行实时聊天
  • 👥 手动添加好友: 通过 IP 地址添加局域网内的其他用户
  • 💬 私聊功能: 与指定用户进行一对一聊天
  • 📁 文件传输: 支持发送和接收各种类型的文件
  • 🎨 现代化界面: 美观的用户界面和流畅的用户体验
  • 🔧 自定义菜单栏: 无边框窗口设计,自定义标题栏
  • 📱 响应式设计: 适配不同屏幕尺寸

技术栈

  • 前端: HTML5, CSS3, JavaScript
  • 后端: Node.js, Express, WebSocket
  • 桌面应用: Electron
  • 文件传输: Multer, HTTP 文件服务
  • 实时通信: WebSocket (ws)

安装和运行

环境要求

  • Node.js 16.0 或更高版本
  • npm 或 yarn 包管理器

安装依赖

npm install

开发模式运行

npm run dev

生产模式运行

npm start

构建应用

(这个现在有问题,大神可以在添加功能后来修改)

使用说明

1. 启动应用

  • 运行应用后,会自动启动聊天服务器(端口 8888)和文件服务器(端口 8889)
  • 应用会显示您的本地 IP 地址

2. 添加好友

  • 点击左侧的「添加好友」按钮
  • 输入要连接的用户的 IP 地址和端口(默认 8888)
  • 点击「连接」建立连接

3. 开始聊天

  • 在左侧用户列表中选择要聊天的用户
  • 在底部输入框中输入消息
  • 按 Enter 键或点击发送按钮发送消息

4. 发送文件

  • 选择要聊天的用户
  • 点击输入框左侧的文件按钮或使用菜单栏的「发送文件」功能
  • 选择要发送的文件
  • 文件会自动上传并发送给对方

5. 接收文件

  • 当收到文件时,会在聊天窗口中显示文件信息
  • 点击「下载」按钮保存文件到本地

项目结构

localchater/
├── main.js                    # Electron 主进程
├── package.json               # 项目配置和依赖
├── src/
│   ├── server/
│   │   └── chatServer.js      # 聊天服务器
│   └── renderer/
│       ├── index.html         # 主界面
│       ├── styles/
│       │   └── main.css       # 样式文件
│       └── js/
│           └── main.js        # 前端逻辑
├── uploads/                   # 文件上传目录(自动创建)
└── README.md                  # 项目说明

网络端口

  • 8888: WebSocket 聊天服务器端口
  • 8889: HTTP 文件传输服务器端口

请确保这些端口在防火墙中是开放的,以便局域网内的其他设备能够连接。

注意事项

  1. 网络安全: 此应用仅适用于受信任的局域网环境
  2. 防火墙设置: 确保防火墙允许应用使用指定端口
  3. 文件大小: 建议传输的文件大小不超过 100MB
  4. 同时在线: 支持多个用户同时在线聊天

快捷键

  • Ctrl+N: 添加好友
  • Ctrl+O: 发送文件
  • Ctrl+Q: 退出应用
  • F12: 开发者工具
  • F11: 全屏模式
  • Enter: 发送消息
  • Shift+Enter: 换行

故障排除

无法连接到其他用户

  1. 检查网络连接,确保在同一局域网内
  2. 检查防火墙设置,允许应用通过防火墙
  3. 确认目标 IP 地址和端口号正确
  4. 确保目标设备也在运行 LocalChater

文件传输失败

  1. 检查文件大小是否过大
  2. 确保有足够的磁盘空间
  3. 检查文件权限
  4. 重新启动应用

开发说明

添加新功能

  1. 前端功能在 src/renderer/js/main.js 中添加
  2. 后端功能在 src/server/chatServer.js 中添加
  3. 样式修改在 src/renderer/styles/main.css 中进行

调试

-用electron的开发者模式就行

  • 查看控制台输出获取错误信息
  • 使用 npm run dev 启动开发模式

许可证

MIT License - 详见 LICENSE 文件

贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目!


LocalChater - 让局域网聊天变得简单有趣!

About

一个建立本地局域网P2P聊天的聊天软件,支持文件秒传

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published