Files
OneMD/posts/blog/工作/项目/QDrop.md
T
2026-06-19 14:45:07 +08:00

1.7 KiB

title, date, categories, tags
title date categories tags
QDrop 2024-12-18
工作
项目
项目

想法

  • 打开软件,对设备进行互相认识
    • 可以删除设备
  • 发送消息,发送文件
    • 同一网络直接发送
      • 文本直接受
      • 文件直接保存
    • 不同网络则不待办
      • 连接网络,则直接发送

开发一个软件,功能如下

1、打开软件,同一局域网的设备进行添加、也可以删除设备

2、向设备之间发送消息,发送文件;同一局域网直接发送;不同网络则为待办任务,连接同一网络,则直接发送

技术栈

1、不使用(依赖)服务器

2、使用java语言、网络通信框架使用netty

先以控制台为前端,主要开发后端功能

设备发现:

  • 使用UDP广播在局域网内发现设备
  • 维护在线设备列表
  • 定期检查设备在线状态

消息通信:

  • 使用Netty框架建立TCP连接
  • 支持文本消息和文件传输
  • 离线消息存储和重发机制

控制台界面:

  • 显示在线设备列表
  • 发送消息和文件的命令行接口
  • 查看消息历史记录

修改端口或设备名称

文件加密、文件压缩

使用javaFX编写前端代码,暂且不用和后端相结合,主界面分为三部分,上边是一排建立连接的设备,显示每个设备的圆框头像、名称,头像对应设备类型,头像地址在resource/images/下,并且在线设备的圆框是被亮光包围,最右侧是一个加号按钮,点击提供其他功能;中间是通信内容,要求通信的消息标签类似telegram、whatsAPP,自己发送的消息是淡绿色背景、黑色字体、带时间;下面部分是一个选择本地文件的按钮、输入框、发送按钮