整个项目分为两个idea项目:Server端
和Client端
,每一个都是独立项目。
没有用到UI编程,输入输出使用的是Scanner
和System.out
有两个界面,初始界面和二级菜单界面。
在初始界面可以进行注册、登录和退出系统,由于没有用到数据库,所以每一次重启系统都需要注册。
登录成功后进入二级菜单,可以显示在线用户列表,群发消息,选择在线用户进行私聊,发送文件和退出功能。
在服务器端可以发通知给全体在线用户,也可以退出发送功能。
所有的通信全部使用的Socket
类实现,传送数据使用ObjectInputStream
和ObjectOutputStream
类实现。
java版本为jdk1.8
- 离线留言和离线发文件
- 部署数据库
- 账号登录限制功能(目前一个账号可以在多个实例中登录,显然这是不合理的)
- 可视化操作界面
- 发文件时接收方指定保存路径(目前是发送方指定接收方的保存路径)
......