本项目为一款采用Java语言开发的基于P2P技术的局域网即时通讯软件,旨在实现用户间的高效、私密沟通。通过去中心化设计,确保数据传输的安全性和稳定性。
一、设计题目:基于P2P的局域网即时通信系统
二、语言环境:Java
三、已知技术参数和设计要求:
1. 实现一个图形用户界面,用于在局域网内进行消息交流。
2. 功能需求包括建立一个简单的P2P消息系统,在这个系统中每个程序既是服务器又是客户端。服务端口使用3000。
3. 用户注册及对等方列表的获取:当对等方A启动后,用户需设置自己的信息(用户名和所在组)。然后扫描网段内在线的所有其他对等方(通过检查其是否开放了3000端口),向这些已发现的对等方发送消息。接收到消息的一方向发信一方返回应答,并将对方加入到自身的用户列表中;同样地,发信方也会在收到回应后更新自己的联系人名单。双方交换的消息格式需自行定义,但至少要包含用户名和IP地址。
4. 发送消息与文件:当用户从对等方列表中选择一个目标时,可以与其建立TCP连接以发送文本信息或传输文件。
5. 用户界面设计应当包括以下元素:
- 对等方的联系人列表
- 消息显示区域
- 用于输入新消息的框体
- 文件传送进度条及相关的操作按钮/菜单