- JDK 8 及以上
- Maven 3.6 及以上
- MySQL 8.0 及以上
先初始化数据库:
mysql -uroot -p < sql/init.sql如果你的数据库账号、密码或地址和源码默认值不一致,启动服务端时可以传入:
java -Dcampusim.db.url=jdbc:mysql://localhost:3306/campus_im?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8 \
-Dcampusim.db.user=root \
-Dcampusim.db.pass=你的密码 \
-jar server/target/server-1.0-SNAPSHOT-jar-with-dependencies.jar在项目根目录执行:
mvn clean package -DskipTests打包成功后,主要会用到这两个文件:
server/target/server-1.0-SNAPSHOT-jar-with-dependencies.jarclient/target/client-1.0-SNAPSHOT-jar-with-dependencies.jar
在项目根目录执行:
java -jar server/target/server-1.0-SNAPSHOT-jar-with-dependencies.jar看到类似下面的信息,说明服务端启动成功:
CampusIM server started
Listening on port: 8888
可以打开多个终端窗口,重复执行下面命令,每执行一次就会启动一个客户端:
java -jar client/target/client-1.0-SNAPSHOT-jar-with-dependencies.jar如果你已经打包出 Windows 可执行文件,也可以直接双击多次打开 dist/CampusIM/CampusIM.exe。
建议至少启动 2 个客户端,用两个不同账号分别登录;如果还没有账号,可以在登录页先注册。
- 在客户端 A 和客户端 B 分别登录两个不同账号。
- 在客户端 A 的搜索框输入客户端 B 的昵称,发送好友申请。
- 在客户端 B 中打开“好友申请”,通过申请。
- 双方好友列表刷新后,点击对方进入聊天窗口。
- 在客户端 A 发送文字消息,确认客户端 B 能即时收到。
- 在客户端 B 回复消息,确认客户端 A 能收到,且聊天记录正常显示。
- 确保两个客户端已经互为好友,并已进入同一个私聊窗口。
- 点击聊天窗口中的“发送文件”。
- 在客户端 A 选择任意一个测试文件并发送。
- 确认客户端 B 收到文件消息提示。
- 在客户端 B 下载文件,确认文件可以正常保存和打开。
当前文件传输大小上限为 200MB。