多用户即时通讯系统01
1.项目开发流程
2.需求分析
- 用户登录
- 拉取在线用户列表
- 无异常退出(包括客户端和服务端)
- 私聊
- 群聊
- 发文件
- 服务器推送新闻/广播
3.设计阶段
3.1界面设计
- 用户登录:
- 拉取在线用户列表:
- 私聊:
- 群聊:
- 发文件:
- 文件服务器推送新闻:
3.2通讯系统整体设计
总结:
服务端:
-
当有客户端连接到服务器后,服务端会得到一个socket
-
启动一个线程,该线程持有该socket对象,也就是说socket是该线程的属性
-
为了更好的管理线程,需要使用集合来管理(如:HashMap)
客户端:
-
和服务端通信时,使用对象方式,可以使用对象流来读写
-
当客户端连接到服务端后,也会得到socket
-
启动一个线程,该线程持有socket
-
为了更好的管理线程,也将该线程放入到集合中
4.编码实现
4.1功能实现-用户登录
4.1.1功能说明
因为还没有学习数据库,我们认为规定 用户名/id = 100,密码为 123456 就可以登录,其他用户不能登录,后面使用HashMap模拟数据库,可以多个用户登录。