项目描述
实现一个类似于在线QQ聊天的功能,不同的用户可以在相同的频道里发送和接受消息从而达到在线聊天的功能。
- 项目的主要功能有:注册用户、用户登陆、频道主页、进入频道聊天、获取历史消息
- 数据传输使用AJAX 技术来将JSON数据格式传输实现前后端数据交互
- 用户的登陆后的状态保持采用的是Session技术
- 消息的发送采用的是WebSocket
- 使用JDBC操作MySQL管理用户表、频道表和消息表
- 使用Maven来管理项目
所用技术
项目主要涉及到的知识:MySQL、Servlet、JSON、AJAX 、WebSocket
何为websocket心跳机制?
websockt心跳机制,不得不说很形象;那何为心跳机制,就是表明client与server的连接是否还在的检测机制;
如果不存在检测,那么网络突然断开,造成的后果就是client、server可能还在傻乎乎的发送无用的消息,浪费了资源;
怎样检测呢?原理就是定时向server发送消息,如果接收到server的响应就表明连接依旧存在;
业务分析
主要功能分析
- 登录:同一个网页登录可以看到用户信息,不登录看到登录注册按钮
- 有多个消息频道,对应的消息频道可以收发消息,不同的消息频道不能收发消息
- 用户退出登录后,再次登录后可以看到上次登录后的消息
消息推送