This commit is contained in:
Qiu
2026-06-19 14:45:07 +08:00
commit a94cd3e890
428 changed files with 35429 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
---
title: QDrop
date: 2024-12-18
categories: [工作, 项目]
tags: [项目]
---
想法
- 打开软件,对设备进行互相认识
- 可以删除设备
- 发送消息,发送文件
- 同一网络直接发送
- 文本直接受
- 文件直接保存
- 不同网络则不待办
- 连接网络,则直接发送
开发一个软件,功能如下
1、打开软件,同一局域网的设备进行添加、也可以删除设备
2、向设备之间发送消息,发送文件;同一局域网直接发送;不同网络则为待办任务,连接同一网络,则直接发送
技术栈
1、不使用(依赖)服务器
2、使用java语言、网络通信框架使用netty
先以控制台为前端,主要开发后端功能
设备发现:
- 使用UDP广播在局域网内发现设备
- 维护在线设备列表
- 定期检查设备在线状态
消息通信:
- 使用Netty框架建立TCP连接
- 支持文本消息和文件传输
- 离线消息存储和重发机制
控制台界面:
- 显示在线设备列表
- 发送消息和文件的命令行接口
- 查看消息历史记录
修改端口或设备名称
文件加密、文件压缩
使用javaFX编写前端代码,暂且不用和后端相结合,主界面分为三部分,上边是一排建立连接的设备,显示每个设备的圆框头像、名称,头像对应设备类型,头像地址在resource/images/下,并且在线设备的圆框是被亮光包围,最右侧是一个加号按钮,点击提供其他功能;中间是通信内容,要求通信的消息标签类似telegram、whatsAPP,自己发送的消息是淡绿色背景、黑色字体、带时间;下面部分是一个选择本地文件的按钮、输入框、发送按钮