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