**
更新时间:2022-10-19 (持续更新)
**
参考:
githubC库websocket
QT官方server代码示例
websocket客户端在线测试
QT websocket 服务器设置 wss 访问
websocket文件传输
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
准备做个IM练练手,正好最近也在学习websocket。
实时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。
IM比较常见的就是QQ,微信了。其中涉及的知识点比较多,通信的服务器,后台认证的服务器,数据库存放个人数据,
知识点
初步估计用:QT+springboot+android app实现
用java的后台作为:登录认证–http请求的方式通过认证登录
websocket作为:通信过程–websocket–文字和文件传输
websocket和后台服务器放在云服务器运行
第一阶段:完成文本通信。完成
第二阶段:完成文件传输。完成
第三阶段:完成多用户-服务器转发通信。完成
第四阶段:完成服务器开发,并部署到云服务器。完成
第五阶段:获取后台账号信息,加载当前好友列表到当前窗口。
第五阶段:优化客户端界面。美化界面。完成
完成安卓版本。未完成
安卓由于不太熟悉,可能需要往后推迟,
一、QT服务器
服务器写好后,放置在云服务器上运行即可。
二、客户端
1.网页版客户端
通过自己写的前端代码或者是用网页版测试客户端都可以:
自己写的网页端:(消息包需要自己定义解析消息)
网页版测试客户端:
地址:https://www.qvdv.com/tools/qvdv-websocket.html
2.PC端客户端
pc客户端界面(新增了一个二维码登录)
后续在思考是否添加一个验证码,避免暴力破解。
同时可以考虑在后台添加限制登录验证次数接口,验证次数过多则锁时间。
3.移动客户端(安卓版)
暂未开发。
三、后台验证登录
springboot后台。
通过获取当前账号密码,通过http-post方式去后台数据库验证账号:
验证通过,登录成功。
登录成功后:就可以开始进行聊天
密码错误:则会提示错误
数据库: